lib/devise/models/authenticatable.rb in devise-3.3.0 vs lib/devise/models/authenticatable.rb in devise-3.4.0
- old
+ new
@@ -168,11 +168,17 @@
# @pending_notifications ||= []
# end
# end
#
def send_devise_notification(notification, *args)
- devise_mailer.send(notification, self, *args).deliver
+ message = devise_mailer.send(notification, self, *args)
+ # Remove once we move to Rails 4.2+ only.
+ if message.respond_to?(:deliver_now)
+ message.deliver_now
+ else
+ message.deliver
+ end
end
def downcase_keys
self.class.case_insensitive_keys.each { |k| apply_to_attribute_or_variable(k, :downcase) }
end
@@ -251,10 +257,10 @@
find_or_initialize_with_errors([attribute], { attribute => value }, error)
end
# Find an initialize a group of attributes based on a list of required attributes.
def find_or_initialize_with_errors(required_attributes, attributes, error=:invalid) #:nodoc:
- attributes = attributes.slice(*required_attributes)
+ attributes = attributes.slice(*required_attributes).with_indifferent_access
attributes.delete_if { |key, value| value.blank? }
if attributes.size == required_attributes.size
record = find_first_by_auth_conditions(attributes)
end