module ActiveModel::Observing::ClassMethods

def instantiate_observer(observer) #:nodoc:

:nodoc:
def instantiate_observer(observer) #:nodoc:
  # string/symbol
  if observer.respond_to?(:to_sym)
    observer = observer.to_s.camelize.constantize.instance
  elsif observer.respond_to?(:instance)
    observer.instance
  else
    raise ArgumentError, "#{observer} must be a lowercase, underscored class name (or an instance of the class itself) responding to the instance method. Example: Person.observers = :big_brother # calls BigBrother.instance"
  end
end