Module: Authlogic::Session::Cookies::InstanceMethods
- Defined in:
- lib/authlogic/session/cookies.rb
Overview
The methods available for an Authlogic::Session::Base object that make up the cookie feature set.
Instance Method Summary collapse
-
#credentials=(value) ⇒ Object
Allows you to set the remember_me option when passing credentials.
-
#httponly ⇒ Object
If the cookie should be marked as httponly (not accessible via javascript).
-
#httponly=(value) ⇒ Object
Accepts a boolean as to whether the cookie should be marked as httponly.
-
#httponly? ⇒ Boolean
See httponly.
-
#remember_me ⇒ Object
Is the cookie going to expire after the session is over, or will it stick around?.
-
#remember_me=(value) ⇒ Object
Accepts a boolean as a flag to remember the session or not.
-
#remember_me? ⇒ Boolean
See remember_me.
-
#remember_me_expired? ⇒ Boolean
Has the cookie expired due to current time being greater than remember_me_until.
-
#remember_me_for ⇒ Object
How long to remember the user if remember_me is true.
-
#remember_me_until ⇒ Object
When to expire the cookie.
-
#same_site ⇒ Object
If the cookie should be marked as SameSite with ‘Lax’ or ‘Strict’ flag.
-
#same_site=(value) ⇒ Object
Accepts nil, ‘Lax’ or ‘Strict’ as possible flags.
-
#secure ⇒ Object
If the cookie should be marked as secure (SSL only).
-
#secure=(value) ⇒ Object
Accepts a boolean as to whether the cookie should be marked as secure.
-
#secure? ⇒ Boolean
See secure.
-
#sign_cookie ⇒ Object
If the cookie should be signed.
-
#sign_cookie=(value) ⇒ Object
Accepts a boolean as to whether the cookie should be signed.
-
#sign_cookie? ⇒ Boolean
See sign_cookie.
Instance Method Details
#credentials=(value) ⇒ Object
Allows you to set the remember_me option when passing credentials.
105 106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/authlogic/session/cookies.rb', line 105 def credentials=(value) super values = value.is_a?(Array) ? value : [value] case values.first when Hash if values.first.with_indifferent_access.key?(:remember_me) self.remember_me = values.first.with_indifferent_access[:remember_me] end else r = values.find { |val| val.is_a?(TrueClass) || val.is_a?(FalseClass) } self.remember_me = r unless r.nil? end end |
#httponly ⇒ Object
If the cookie should be marked as httponly (not accessible via javascript)
175 176 177 178 |
# File 'lib/authlogic/session/cookies.rb', line 175 def httponly return @httponly if defined?(@httponly) @httponly = self.class.httponly end |
#httponly=(value) ⇒ Object
Accepts a boolean as to whether the cookie should be marked as httponly. If true, the cookie will not be accessible from javascript
182 183 184 |
# File 'lib/authlogic/session/cookies.rb', line 182 def httponly=(value) @httponly = value end |
#httponly? ⇒ Boolean
See httponly
187 188 189 |
# File 'lib/authlogic/session/cookies.rb', line 187 def httponly? httponly == true || httponly == "true" || httponly == "1" end |
#remember_me ⇒ Object
Is the cookie going to expire after the session is over, or will it stick around?
120 121 122 123 |
# File 'lib/authlogic/session/cookies.rb', line 120 def remember_me return @remember_me if defined?(@remember_me) @remember_me = self.class.remember_me end |
#remember_me=(value) ⇒ Object
Accepts a boolean as a flag to remember the session or not. Basically to expire the cookie at the end of the session or keep it for “remember_me_until”.
128 129 130 |
# File 'lib/authlogic/session/cookies.rb', line 128 def remember_me=(value) @remember_me = value end |
#remember_me? ⇒ Boolean
See remember_me
133 134 135 |
# File 'lib/authlogic/session/cookies.rb', line 133 def remember_me? remember_me == true || remember_me == "true" || remember_me == "1" end |
#remember_me_expired? ⇒ Boolean
Has the cookie expired due to current time being greater than remember_me_until.
152 153 154 155 |
# File 'lib/authlogic/session/cookies.rb', line 152 def remember_me_expired? return unless remember_me? (Time.parse([2]) < Time.now) end |
#remember_me_for ⇒ Object
How long to remember the user if remember_me is true. This is based on the class level configuration: remember_me_for
139 140 141 142 |
# File 'lib/authlogic/session/cookies.rb', line 139 def remember_me_for return unless remember_me? self.class.remember_me_for end |
#remember_me_until ⇒ Object
When to expire the cookie. See remember_me_for configuration option to change this.
146 147 148 149 |
# File 'lib/authlogic/session/cookies.rb', line 146 def remember_me_until return unless remember_me? remember_me_for.from_now end |
#same_site ⇒ Object
If the cookie should be marked as SameSite with ‘Lax’ or ‘Strict’ flag.
192 193 194 195 |
# File 'lib/authlogic/session/cookies.rb', line 192 def same_site return @same_site if defined?(@same_site) @same_site = self.class.same_site(nil) end |
#same_site=(value) ⇒ Object
Accepts nil, ‘Lax’ or ‘Strict’ as possible flags.
198 199 200 201 202 203 204 |
# File 'lib/authlogic/session/cookies.rb', line 198 def same_site=(value) unless VALID_SAME_SITE_VALUES.include?(value) msg = "Invalid same_site value: #{value}. Valid: #{VALID_SAME_SITE_VALUES.inspect}" raise ArgumentError.new(msg) end @same_site = value end |
#secure ⇒ Object
If the cookie should be marked as secure (SSL only)
158 159 160 161 |
# File 'lib/authlogic/session/cookies.rb', line 158 def secure return @secure if defined?(@secure) @secure = self.class.secure end |
#secure=(value) ⇒ Object
Accepts a boolean as to whether the cookie should be marked as secure. If true the cookie will only ever be sent over an SSL connection.
165 166 167 |
# File 'lib/authlogic/session/cookies.rb', line 165 def secure=(value) @secure = value end |
#secure? ⇒ Boolean
See secure
170 171 172 |
# File 'lib/authlogic/session/cookies.rb', line 170 def secure? secure == true || secure == "true" || secure == "1" end |
#sign_cookie ⇒ Object
If the cookie should be signed
207 208 209 210 |
# File 'lib/authlogic/session/cookies.rb', line 207 def return @sign_cookie if defined?(@sign_cookie) @sign_cookie = self.class. end |
#sign_cookie=(value) ⇒ Object
Accepts a boolean as to whether the cookie should be signed. If true the cookie will be saved and verified using a signature.
214 215 216 |
# File 'lib/authlogic/session/cookies.rb', line 214 def (value) @sign_cookie = value end |
#sign_cookie? ⇒ Boolean
See sign_cookie
219 220 221 |
# File 'lib/authlogic/session/cookies.rb', line 219 def == true || == "true" || == "1" end |