Ackbar, KirbyBase, and Rails
Hi! Jamey Cribbs, here. First time blogger. I’m the developer of KirbyBase, a small, pure-Ruby, database management system.
Recently, Assaph Mehr, a fellow Ruby developer, released version 0.1.0 of Ackbar, an ActiveRecord adapter for KirbyBase. Now, Assaph wrote Ackbar primarily so he can use it in Pimki, which he also developed.
Although I’m pretty experienced with Ruby, I am a Rails newbie. I recently bought Agile Development With Rails and had made it through Chapter 6, following along and building the Depot application using MySQL. Then, work got in the way and several weeks passed without being able to continue reading the book.
Then, a couple of days ago, as I started to play with Ackbar, I had a thought: Why not try to build the Depot application in the Rails book using Ackbar/KirbyBase as the back-end instead of MySQL?
This exercise could serve several purposes:
- Motivate me to learn Rails.
- Identify bugs-to-be-fixed/changes-necessary for Ackbar/KirbyBase to function as a useful Rails back-end.
- Identify potential areas where an Ackbar/KirbyBase back-end would be an attractive alternative for developers (i.e. ease of installation, small-footprint, etc.).
- Document configuration settings, workarounds, pitfalls encountered when using Ackbar/KirbyBase as a Rails back-end (i.e. limited used of SQL).
After convincing myself that this would be a good idea, I also decided that blogging the whole process also made sense. Rather than try to take notes and then post an email on Ruby-Talk, putting this exercise on a blog would make it more accessible and easier for others to comment on it.
My plan is to create a new blog entry for each chapter I finish in the Rails book. So far, I have completed Chapter 6 (the first chapter where you actually start to code the Depot application) using Ackbar and, other than a couple of small fixes, it was smooth sailing. This blog should be considered part tutorial, part travelogue, and part mystery story, because I don’t know how it’s going to end. Will I be able to finish the Depot application using Ackbar or will I run into a show-stoper, something that KirbyBase just can’t handle? It’s going to be fun finding out!
So, keep your eye on this space. I hope to post a new entry by the end of the weekend detailing my journey through Chapter 6 of the Rails book.
Ezra Zygmuntowicz replied:
Jamie- This is very cool. I have been playing with ackbar and its pretty sweet. Of course I love kirbybase as you know and use it a lot for other stuff at work. I think its very cool to have a database lightweigth pure ruby option for rails apps. Then they can be easiely distributed without so many dependencies. I will be watching with interest. And if you ever want any help with ther rails side of things please don’t hesistate to ask, I would love to help in the port of the depot appto ackbar if you want any help.
February 18, 2006 at 7:50 pm. Permalink.
Ezra Zygmuntowicz replied:
Oh- and welcome to the blogosphere!
February 18, 2006 at 7:51 pm. Permalink.
houseonfire replied:
Hey, Ezra! Thanks for the kind words and definitely for the offer of help. I will be taking you up on that one, for sure!
By the way, I just found out about ez_where yesterday. Congratulations! It looks very cool and I can’t wait to try it.
Thanks again for the offer to help.
Jamey
February 18, 2006 at 9:10 pm. Permalink.
Uncle replied:
Jamey, Keep up the good work.
Gary
September 19, 2006 at 3:08 am. Permalink.
chris replied:
Hi,
Thanks for the nice tool. But lately it kirbybase_adapter is not running.
It seems it checks for activesupport 1.2.5 and does not like 1.3.0.
any help?
thanks
chris
when I try to load kirbybase_adapter I get:
irb(main):003:0> require ‘kirbybase_adapter’
Gem::LoadError: RubyGem version error: activesupport(1.3.0 not = 1.2.5)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:204:in `report_activate_error’
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:141:in `activate’
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:167:in `activate’
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:166:in `activate’
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:167:in `activate’
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:166:in `activate’
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:26:in `require’
from (irb):3
November 9, 2006 at 11:46 am. Permalink.