Module: Authlogic::Session::Password::InstanceMethods
- Defined in:
- lib/authlogic/session/password.rb
Overview
Password related instance methods
Instance Method Summary collapse
-
#credentials ⇒ Object
Returns the login_field / password_field credentials combination in hash form.
-
#credentials=(value) ⇒ Object
Accepts the login_field / password_field credentials combination in hash form.
- #initialize(*args) ⇒ Object
- #invalid_password? ⇒ Boolean
Instance Method Details
#credentials ⇒ Object
Returns the login_field / password_field credentials combination in hash form.
144 145 146 147 148 149 150 151 152 153 |
# File 'lib/authlogic/session/password.rb', line 144 def credentials if authenticating_with_password? details = {} details[login_field.to_sym] = send(login_field) details[password_field.to_sym] = "<protected>" details else super end end |
#credentials=(value) ⇒ Object
Accepts the login_field / password_field credentials combination in hash form.
156 157 158 159 160 161 162 163 164 165 |
# File 'lib/authlogic/session/password.rb', line 156 def credentials=(value) super values = value.is_a?(Array) ? value : [value] if values.first.is_a?(Hash) values.first.with_indifferent_access.slice(login_field, password_field).each do |field, value| next if value.blank? send("#{field}=", value) end end end |
#initialize(*args) ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/authlogic/session/password.rb', line 116 def initialize(*args) if !self.class.configured_password_methods if login_field self.class.send(:attr_writer, login_field) if !respond_to?("#{login_field}=") self.class.send(:attr_reader, login_field) if !respond_to?(login_field) end if password_field self.class.send(:attr_writer, password_field) if !respond_to?("#{password_field}=") self.class.send(:define_method, password_field) {} if !respond_to?(password_field) self.class.class_eval <<-"end_eval", __FILE__, __LINE__ private # The password should not be accessible publicly. This way forms using form_for don't fill the password with the # attempted password. To prevent this we just create this method that is private. def protected_#{password_field} @#{password_field} end end_eval end self.class.configured_password_methods = true end super end |
#invalid_password? ⇒ Boolean
167 168 169 |
# File 'lib/authlogic/session/password.rb', line 167 def invalid_password? invalid_password == true end |