Module: CookieCutter::Cookie

Included in:
Base
Defined in:
lib/cookie_cutter/cookie.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



121
122
123
# File 'lib/cookie_cutter/cookie.rb', line 121

def self.included(klass)
  klass.extend ClassMethods
end

Instance Method Details



167
168
169
# File 'lib/cookie_cutter/cookie.rb', line 167

def cookie_domain
  self.class.cookie_domain
end


163
164
165
# File 'lib/cookie_cutter/cookie.rb', line 163

def cookie_lifetime
  self.class.cookie_lifetime
end


155
156
157
# File 'lib/cookie_cutter/cookie.rb', line 155

def cookie_name
  @cookie_name
end

#delete!Object



149
150
151
152
153
# File 'lib/cookie_cutter/cookie.rb', line 149

def delete!
  options = {}
  self.class.add_options(options)
  @cookie_jar.delete(cookie_name, options)
end

#initialize(cookie_jar, options = {}) ⇒ Object



125
126
127
128
129
# File 'lib/cookie_cutter/cookie.rb', line 125

def initialize(cookie_jar, options={})
  @cookie_jar = cookie_jar
  @secure_request = options[:secure_request]
  @cookie_name = (options[:cookie_name] || self.class.cookie_name).downcase
end

#secure?Boolean

Returns:

  • (Boolean)


159
160
161
# File 'lib/cookie_cutter/cookie.rb', line 159

def secure?
  self.class.secure?
end

#secure_request?Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/cookie_cutter/cookie.rb', line 131

def secure_request?
  @secure_request.nil? ? true : @secure_request
end

#valueObject



135
136
137
138
139
140
141
# File 'lib/cookie_cutter/cookie.rb', line 135

def value
  value = @cookie_jar[cookie_name]
  #if the value is a hash, we need to dup it so that we are not manipulating the original instance
  #we need to do this because a rails cookie_jar hangs onto the original reference in order to detect value changes
  value = value.dup if value.is_a?(Hash)
  value
end

#value=(val) ⇒ Object Also known as: set_value



143
144
145
146
147
# File 'lib/cookie_cutter/cookie.rb', line 143

def value=(val)
  cookie = {value: val, secure_request: secure_request?}
  self.class.add_options(cookie)
  @cookie_jar[cookie_name] = cookie
end