Class: AgentX::Response::Headers::CacheControl
- Inherits:
-
Object
- Object
- AgentX::Response::Headers::CacheControl
- Defined in:
- lib/agentx/response.rb
Instance Attribute Summary collapse
-
#directives ⇒ Object
readonly
Returns the value of attribute directives.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(directives) ⇒ CacheControl
constructor
A new instance of CacheControl.
- #inspect ⇒ Object
- #max_age ⇒ Object
- #must_revalidate? ⇒ Boolean
- #no_cache? ⇒ Boolean
- #no_store? ⇒ Boolean
- #private? ⇒ Boolean
- #public? ⇒ Boolean
- #shared_max_age ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(directives) ⇒ CacheControl
Returns a new instance of CacheControl.
205 206 207 |
# File 'lib/agentx/response.rb', line 205 def initialize(directives) @directives = directives end |
Instance Attribute Details
#directives ⇒ Object (readonly)
Returns the value of attribute directives.
203 204 205 |
# File 'lib/agentx/response.rb', line 203 def directives @directives end |
Class Method Details
.parse(s) ⇒ Object
245 246 247 248 249 250 251 252 253 254 255 |
# File 'lib/agentx/response.rb', line 245 def self.parse(s) h = {} Array(s).join(',').gsub(' ', '').split(',').each do |p| k, v = p.split('=') h[k.downcase] = (v || true) end new(h) end |
Instance Method Details
#inspect ⇒ Object
241 242 243 |
# File 'lib/agentx/response.rb', line 241 def inspect "(CacheControl #{directives})" end |
#max_age ⇒ Object
229 230 231 |
# File 'lib/agentx/response.rb', line 229 def max_age @directives['max-age'] && @directives['max-age'].to_i end |
#must_revalidate? ⇒ Boolean
225 226 227 |
# File 'lib/agentx/response.rb', line 225 def must_revalidate? @directives['must-revalidate'] end |
#no_cache? ⇒ Boolean
221 222 223 |
# File 'lib/agentx/response.rb', line 221 def no_cache? @directives['no-cache'] end |
#no_store? ⇒ Boolean
217 218 219 |
# File 'lib/agentx/response.rb', line 217 def no_store? @directives['no-store'] end |
#private? ⇒ Boolean
213 214 215 |
# File 'lib/agentx/response.rb', line 213 def private? @directives['private'] end |
#public? ⇒ Boolean
209 210 211 |
# File 'lib/agentx/response.rb', line 209 def public? @directives['public'] end |
#shared_max_age ⇒ Object
233 234 235 |
# File 'lib/agentx/response.rb', line 233 def shared_max_age @directives['s-max-age'] && @directives['s-max-age'].to_i end |
#to_s ⇒ Object
237 238 239 |
# File 'lib/agentx/response.rb', line 237 def to_s directives.map { |k,v| v == true ? k : "#{k}=#{v}" }.join(', ') end |