DB_DEMO.create_table!(:test_table) do Integer :id Integer :'goofy name col' Integer :'date_col' Integer :'time_col' Integer :'price' Integer :'paid' end DB_DEMO.create_table! :dudes do Integer :'kid - date' Integer :'kid - time' Integer :'kid - user' Integer :'kid - mult' Integer :'kid - comm' String :'name' Integer :'ranch code' Integer :'pool type' Integer :'my friend kid - date' Integer :'my friend kid - time' Integer :'my friend kid - user' Integer :'my friend kid - mult' Integer :'my friend kid - comm' end DB_DEMO.create_table! :'my friends' do Integer :'kid - date' Integer :'kid - time' Integer :'kid - user' Integer :'kid - mult' Integer :'kid - comm' String :name end DB_DEMO.create_table! :'the horses' do String :'name' String :'goofy name' Integer :'kid - date' Integer :'kid - time' Integer :'kid - user' Integer :'kid - mult' Integer :'kid - comm' Integer :'dude kid - date' Integer :'dude kid - time' Integer :'dude kid - user' Integer :'dude kid - mult' Integer :'dude kid - comm' end DB_DEMO.create_table! :codes do Integer :'kid - date' Integer :'kid - time' Integer :'kid - user' Integer :'kid - mult' Integer :'kid - comm' String :'description' String :'code' Integer :'value' String :'name' end module CodeGroup def CodeGroup.ranch_id; 'ranch_id__'; end def CodeGroup.pool_type; 'pool_id___'; end end Sequel::Model.db = DB_DEMO class TestTable < Sequel::Model(:test_table) set_primary_key [:id] end class Dude < Sequel::Model(:dudes) set_primary_key [:'kid - date',:'kid - time',:'kid - user',:'kid - mult',:'kid - comm'] code_association :ranch_code, :'ranch code', :ranch_id code_association :pool_type, :'pool type', :pool_type column_alias :kid_date, :'kid - date' o_to_n :horses, :class=>:Horse, :prefix => 'dude' n_to_o :one_horse, :class=>:Horse, :prefix => 'dude' n_to_o :my_friend, :class=>:MyFriend, :prefix=>'my friend' end class MyFriend < Sequel::Model(:'my friends') set_primary_key [:'kid - date',:'kid - time',:'kid - user',:'kid - mult',:'kid - comm'] end class Horse < Sequel::Model(:'the horses') set_primary_key [:'kid - date',:'kid - time',:'kid - user',:'kid - mult',:'kid - comm'] # validations do # presence_of :name # end n_to_o :dude, :class=>:Dude, :prefix=>'dude' end #require 'memcache' #CACHE = MemCache.new 'localhost:11211', :namespace => 'cachetest' #Horse.plugin :caching, CACHE class Code < Sequel::Model(:codes) set_primary_key [:'kid - date',:'kid - time',:'kid - user',:'kid - mult',:'kid - comm'] def Code.get_codes(code_name) self.filter(:name=>code_name).collect(&:description) end end DB_DEMO[:dudes] << { :name=>'dano',:'ranch code'=>1,:'pool type'=>2, :'kid - date'=>1,:'kid - time'=>1,:'kid - user'=>1,:'kid - mult'=>1,:'kid - comm'=>1, :'my friend kid - date'=>1,:'my friend kid - time'=>1,:'my friend kid - user'=>1,:'my friend kid - mult'=>1,:'my friend kid - comm'=>1} DB_DEMO[:dudes] << { :name=>'eric', :'kid - date'=>2,:'kid - time'=>2,:'kid - user'=>2,:'kid - mult'=>2,:'kid - comm'=>2, :'my friend kid - date'=>2,:'my friend kid - time'=>2,:'my friend kid - user'=>2,:'my friend kid - mult'=>2,:'my friend kid - comm'=>2} DB_DEMO[:'my friends'] << {:name=>'dans buddy', :'kid - date'=>1,:'kid - time'=>1,:'kid - user'=>1,:'kid - mult'=>1,:'kid - comm'=>1} DB_DEMO[:'my friends'] << {:name=>'erics buddy', :'kid - date'=>2,:'kid - time'=>2,:'kid - user'=>2,:'kid - mult'=>2,:'kid - comm'=>2} DB_DEMO[:'the horses'] << {:name=>'pinto', :'goofy name'=>'pinto-meister', :'kid - date'=>1,:'kid - time'=>1,:'kid - user'=>1,:'kid - mult'=>1,:'kid - comm'=>1, :'dude kid - date'=>1,:'dude kid - time'=>1,:'dude kid - user'=>1,:'dude kid - mult'=>1,:'dude kid - comm'=>1} DB_DEMO[:'the horses'] << {:name=>'silver', :'goofy name'=>'heio silver', :'kid - date'=>2,:'kid - time'=>2,:'kid - user'=>2,:'kid - mult'=>2,:'kid - comm'=>2, :'dude kid - date'=>1,:'dude kid - time'=>1,:'dude kid - user'=>1,:'dude kid - mult'=>1,:'dude kid - comm'=>1} DB_DEMO[:codes] << {:value=>1, :name=>'ranch_id__', :description=>'manly ranch', :code=>'men', :'kid - date'=>1,:'kid - time'=>1,:'kid - user'=>1,:'kid - mult'=>1,:'kid - comm'=>1} DB_DEMO[:codes] << {:value=>2, :name=>'pool_id___', :description=>'big round pool', :code=>'splash', :'kid - date'=>2,:'kid - time'=>2,:'kid - user'=>2,:'kid - mult'=>2,:'kid - comm'=>2} @@set_up_demo_tables = true