lib/sequel/model.rb in sequel-0.0.10 vs lib/sequel/model.rb in sequel-0.0.11

- old
+ new

@@ -1,16 +1,17 @@ -#require 'rubygems' require 'metaid' module Sequel class Model @@db = nil def self.db; @@db; end def self.db=(db); @@db = db; end - def self.table_name; @table_name; end + def self.table_name + @table_name || ((superclass != Model) && (superclass.table_name)) + end def self.set_table_name(t); @table_name = t; end def self.dataset return @dataset if @dataset if !table_name @@ -51,36 +52,35 @@ end def self.primary_key; @primary_key ||= :id; end def self.set_primary_key(k); @primary_key = k; end - def self.schema(name = nil, &block) + def self.set_schema(name = nil, &block) name ? set_table_name(name) : name = table_name @schema = Schema::Generator.new(name, &block) if @schema.primary_key_name set_primary_key @schema.primary_key_name end end + def self.schema + @schema || ((superclass != Model) && (superclass.schema)) + end def self.table_exists? db.table_exists?(table_name) end def self.create_table - db.execute get_schema.create_sql + db.execute schema.create_sql end def self.drop_table - db.execute get_schema.drop_sql + db.execute schema.drop_sql end def self.recreate_table drop_table if table_exists? create_table - end - - def self.get_schema - @schema end ONE_TO_ONE_PROC = "proc {i = @values[:%s]; %s[i] if i}".freeze ID_POSTFIX = "_id".freeze FROM_DATASET = "db[%s]".freeze