lib/sequel/model.rb in sequel-0.1.6 vs lib/sequel/model.rb in sequel-0.1.7

- old
+ new

@@ -152,11 +152,11 @@ def self.after_create(&block) get_hooks(:after_create) << block end def self.after_destroy(&block) - get_hooks(:after_destroy).unshift(block) + get_hooks(:after_destroy) << block end def self.find(cond) dataset[cond.is_a?(Hash) ? cond : {primary_key => cond}] end @@ -192,21 +192,10 @@ @values = self.class.dataset.naked[primary_key => @pkey] || (raise SequelError, "Record not found") self end - # def self.each(&block); dataset.each(&block); end - # def self.all; dataset.all; end - # def self.filter(*arg, &block); dataset.filter(*arg, &block); end - # def self.exclude(*arg, &block); dataset.exclude(*arg, &block); end - # def self.order(*arg); dataset.order(*arg); end - # def self.first(*arg); dataset.first(*arg); end - # def self.count; dataset.count; end - # def self.map(*arg, &block); dataset.map(*arg, &block); end - # def self.hash_column(column); dataset.hash_column(primary_key, column); end - # def self.join(*args); dataset.join(*args); end - # def self.lock(mode, &block); dataset.lock(mode, &block); end def self.destroy_all has_hooks?(:before_destroy) ? dataset.destroy : dataset.delete end def self.delete_all; dataset.delete; end @@ -220,10 +209,11 @@ def destroy db.transaction do run_hooks(:before_destroy) delete + run_hooks(:after_destroy) end end def delete model.dataset.filter(primary_key => @pkey).delete @@ -248,9 +238,14 @@ elsif dataset.respond_to?(m) instance_eval("def #{m}(*args, &block); dataset.#{m}(*args, &block); end") end end respond_to?(m) ? send(m, *args, &block) : super(m, *args) + end + + def self.join(*args) + table_name = dataset.opts[:from].first + dataset.join(*args).select(table_name.to_sym.ALL) end def db; self.class.db; end def [](field); @values[field]; end