Module: Rack::Cache::Options

Included in:
Context
Defined in:
lib/rack/cache/options.rb

Overview

Configuration options and utility methods for option access. Rack::Cache uses the Rack Environment to store option values. All options documented below are stored in the Rack Environment as “rack-cache.<option>”, where <option> is the option name.

The #set method can be used within an event or a top-level configuration block to configure a option values. When #set is called at the top-level, the value applies to all requests; when called from within an event, the values applies only to the request being processed.

Instance Method Summary collapse

Instance Method Details

#optionsObject

The underlying options Hash. During initialization (or outside of a request), this is a default values Hash. During a request, this is the Rack environment Hash. The default values Hash is merged in underneath the Rack environment before each request is processed.



68
69
70
# File 'lib/rack/cache/options.rb', line 68

def options
  @env || @default_options
end

#options=(hash = {}) ⇒ Object

Set multiple options.



73
74
75
# File 'lib/rack/cache/options.rb', line 73

def options=(hash={})
  hash.each { |key,value| write_option(key, value) }
end

#set(option, value = self) ⇒ Object

Set an option. When option is a Symbol, it is set in the Rack Environment as “rack-cache.option”. When option is a String, it exactly as specified. The option argument may also be a Hash in which case each key/value pair is merged into the environment as if the #set method were called on each.



82
83
84
85
86
87
88
# File 'lib/rack/cache/options.rb', line 82

def set(option, value=self)
  if value == self
    self.options = option.to_hash
  else
    write_option option, value
  end
end