module Devision::Models::Authenticatable::ClassMethods
Public Instance Methods
find_first_by_auth_conditions(tainted_conditions, options = {})
click to toggle source
# File lib/devision/models/authenticatable.rb, line 14 def find_first_by_auth_conditions(tainted_conditions, options = {}) to_adapter.find_first(tainted_conditions.merge(options)) end
find_or_initialize_with_error_by(attribute, value, error=:invalid)
click to toggle source
# File lib/devision/models/authenticatable.rb, line 18 def find_or_initialize_with_error_by(attribute, value, error=:invalid) find_or_initialize_with_errors([attribute], { attribute => value }, error) end
find_or_initialize_with_errors(required_attributes, attributes, error=:invalid)
click to toggle source
# File lib/devision/models/authenticatable.rb, line 22 def find_or_initialize_with_errors(required_attributes, attributes, error=:invalid) attributes = attributes.slice(*required_attributes) attributes.delete_if { |key, value| value.blank? } if attributes.size == required_attributes.size record = find_first_by_auth_conditions(attributes) end unless record record = new required_attributes.each do |key| value = attributes[key] record.public_send("#{key}=", value) record.errors.add(key, value.present? ? error : :blank) end end record end