Class: Mechanize::CookieStore::Redis
- Inherits:
-
Object
- Object
- Mechanize::CookieStore::Redis
- Defined in:
- lib/mechanize/cookie_store/redis.rb
Constant Summary collapse
- DEFAULT_NAMESPACE =
"mechanize_cookies".freeze
Class Method Summary collapse
- .all(options = {}) ⇒ Object
- .connection ⇒ Object
- .cookie_expired?(cookie) ⇒ Boolean
- .normalized_keys(options = {}) ⇒ Object
- .save(cookie) ⇒ Object
Class Method Details
.all(options = {}) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/mechanize/cookie_store/redis.rb', line 16 def self.all( = {}) normalized_keys().each_with_object([]) do |key, | = connection.get(key) if = Marshal.load() unless () << end end end end |
.connection ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/mechanize/cookie_store/redis.rb', line 7 def self.connection return @store_connection if @store_connection namespace = Mechanize::CookieStore.connection_params[:namespace] || DEFAULT_NAMESPACE redis_connection = ::Redis.new(Mechanize::CookieStore.connection_params) @store_connection = ::Redis::Namespace.new(namespace, redis: redis_connection) end |
.cookie_expired?(cookie) ⇒ Boolean
38 39 40 41 42 |
# File 'lib/mechanize/cookie_store/redis.rb', line 38 def self.() .expires && .expires < Time.now.utc || .created_at && .max_age && .created_at + .max_age < Time.now.utc end |
.normalized_keys(options = {}) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/mechanize/cookie_store/redis.rb', line 44 def self.normalized_keys( = {}) domain = [:domain] || "*" path = [:path] || "*" name = [:name] || "*" connection.keys("#{domain}:#{path}:#{name}") end |
.save(cookie) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/mechanize/cookie_store/redis.rb', line 30 def self.save() return if () key = "#{.domain}:#{.path}:#{.name}" connection.set(key, Marshal.dump()) == "OK" end |