diff --git a/lib/authlogic/acts_as_authentic/password.rb b/lib/authlogic/acts_as_authentic/password.rb index cdae456c..326a9e57 100644 --- a/lib/authlogic/acts_as_authentic/password.rb +++ b/lib/authlogic/acts_as_authentic/password.rb @@ -182,7 +182,7 @@ def self.included(klass) klass.define_callbacks *METHODS # If Rails 3, support the new callback syntax - if klass.singleton_class.method_defined?(:set_callback) + if klass.send(klass.respond_to?(:singleton_class) ? :singleton_class : :metaclass).method_defined?(:set_callback) METHODS.each do |method| klass.class_eval <<-"end_eval", __FILE__, __LINE__ def self.#{method}(*methods, &block) diff --git a/lib/authlogic/session/callbacks.rb b/lib/authlogic/session/callbacks.rb index 6b675f40..fc41074f 100644 --- a/lib/authlogic/session/callbacks.rb +++ b/lib/authlogic/session/callbacks.rb @@ -66,7 +66,7 @@ def self.included(base) #:nodoc: base.define_callbacks *METHODS # If Rails 3, support the new callback syntax - if base.singleton_class.method_defined?(:set_callback) + if base.send(base.respond_to?(:singleton_class) ? :singleton_class : :metaclass).method_defined?(:set_callback) METHODS.each do |method| base.class_eval <<-"end_eval", __FILE__, __LINE__ def self.#{method}(*methods, &block)