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