AM register_interceptor and register_observer only constantize if the argument is a String

This commit is contained in:
Josh Kalderimis 2011-04-04 19:26:41 +08:00 committed by José Valim
parent d907f3cb5c
commit cb9e501a28
1 changed files with 2 additions and 2 deletions

View File

@ -375,7 +375,7 @@ module ActionMailer #:nodoc:
# Either a class or a string can be passed in as the Observer. If a string is passed in
# it will be <tt>constantize</tt>d.
def register_observer(observer)
delivery_observer = (observer.respond_to?(:delivered_email) ? observer : observer.constantize)
delivery_observer = (observer.is_a?(String) ? observer.constantize : observer)
Mail.register_observer(delivery_observer)
end
@ -383,7 +383,7 @@ module ActionMailer #:nodoc:
# Either a class or a string can be passed in as the Observer. If a string is passed in
# it will be <tt>constantize</tt>d.
def register_interceptor(interceptor)
delivery_interceptor = (interceptor.respond_to?(:delivering_email) ? interceptor : interceptor.constantize)
delivery_interceptor = (interceptor.is_a?(String) ? interceptor.constantize : interceptor)
Mail.register_interceptor(delivery_interceptor)
end