Class: ActionController::CookieJar
- Inherits:
-
Hash
- Object
- Hash
- ActionController::CookieJar
- Defined in:
- lib/action_controller/cookies.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#[](name) ⇒ Object
Returns the value of the cookie by
name
– or nil if no such cookie exists. - #[]=(name, options) ⇒ Object
-
#delete(name) ⇒ Object
Removes the cookie on the client machine by setting the value to an empty string and setting its expiration date into the past.
-
#initialize(controller) ⇒ CookieJar
constructor
A new instance of CookieJar.
Constructor Details
#initialize(controller) ⇒ CookieJar
Returns a new instance of CookieJar.
40 41 42 43 44 |
# File 'lib/action_controller/cookies.rb', line 40 def initialize(controller) @controller, @cookies = controller, controller.instance_variable_get("@cookies") super() update(@cookies) end |
Instance Method Details
#[](name) ⇒ Object
Returns the value of the cookie by name
– or nil if no such cookie exists. You set new cookies using either the cookie method or cookies[]= (for simple name/value cookies without options).
48 49 50 |
# File 'lib/action_controller/cookies.rb', line 48 def [](name) @cookies[name.to_s].value.first if @cookies[name.to_s] && @cookies[name.to_s].respond_to?(:value) end |
#[]=(name, options) ⇒ Object
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/action_controller/cookies.rb', line 52 def []=(name, ) if .is_a?(Hash) = .inject({}) { |, pair| [pair.first.to_s] = pair.last; } ["name"] = name.to_s else = { "name" => name.to_s, "value" => } end () end |
#delete(name) ⇒ Object
Removes the cookie on the client machine by setting the value to an empty string and setting its expiration date into the past
65 66 67 |
# File 'lib/action_controller/cookies.rb', line 65 def delete(name) ("name" => name.to_s, "value" => "", "expires" => Time.at(0)) end |