ActiveTokyoCabinet 0.2.1

http://activetokyocabi.rubyforge.org/
会社の同僚がスキーマフリーの素晴らしさについて熱く語っていたので、ActiveTokyoCabinetでも実装してみた。

require 'active_record'
require 'active_tokyocabinet/tdb'

ActiveRecord::Base.logger = Logger.new($stdout)
ActiveRecord::Base.colorize_logging = false

class Emp < ActiveRecord::Base
  include ActiveTokyoCabinet::TDB
  schema_free :timestamp => true
end

ActiveRecord::Base.establish_connection(
  :adapter  => 'tokyocabinet',
  :database => './'
)

Emp.create!(:foo => 'FOO', :bar => 'BAR')
Emp.create!(:ZOO => 'zoo', :BAZ => 'baz')

emp = Emp.new
emp.hoge = 100
emp.fuga = 200
emp.save!

Emp.find(:all).each do |i|
  i.xxx = 'XXX'
  i.save
end

emps = Emp.find(:all, :conditions => {:hoge => 100})

emps.find(:all).each do |i|
  p i.attributes
end

特にカラムを定義しなくても好きに追加できるし、検索もできる。