lib/authlogic/session/callbacks.rb in authlogic-3.0.3 vs lib/authlogic/session/callbacks.rb in authlogic-3.1.0

- old
+ new

@@ -61,14 +61,15 @@ "before_destroy", "after_destroy" ] def self.included(base) #:nodoc: base.send :include, ActiveSupport::Callbacks - base.define_callbacks *METHODS - + base.define_callbacks *METHODS + [{:terminator => 'result == false'}] + base.define_callbacks *['persist', {:terminator => 'result == true'}] + # If Rails 3, support the new callback syntax - if base.send(base.respond_to?(:singleton_class) ? :singleton_class : :metaclass).method_defined?(:set_callback) + if base.singleton_class.method_defined?(:set_callback) METHODS.each do |method| base.class_eval <<-"end_eval", __FILE__, __LINE__ def self.#{method}(*methods, &block) set_callback :#{method}, *methods, &block end @@ -79,16 +80,12 @@ private METHODS.each do |method| class_eval <<-"end_eval", __FILE__, __LINE__ def #{method} - run_callbacks(:#{method}) { |result, object| result == false } + run_callbacks(:#{method}) end end_eval - end - - def persist - run_callbacks(:persist) { |result, object| result == true } end def save_record(alternate_record = nil) r = alternate_record || record r.save_without_session_maintenance(:validate => false) if r && r.changed? && !r.readonly? \ No newline at end of file