Entry that is put into caches. It supports expiration time on entries and can compress values to save space in the cache.
# File lib/active_support/cache.rb, line 586 def compressed? @compressed end
Check if the entry is expired. The expires_in parameter can override the value set when the entry was created.
# File lib/active_support/cache.rb, line 592 def expired? @expires_in && @created_at + @expires_in <= Time.now.to_f end
Seconds since the epoch when the entry will expire.
# File lib/active_support/cache.rb, line 606 def expires_at @expires_in ? @created_at + @expires_in : nil end
Set a new time when the entry will expire.
# File lib/active_support/cache.rb, line 597 def expires_at=(time) if time @expires_in = time.to_f - @created_at else @expires_in = nil end end
Get the raw value. This value may be serialized and compressed.
# File lib/active_support/cache.rb, line 571 def raw_value @value end
Create an entry with internal attributes set. This method is intended to be used by implementations that store cache entries in a native format instead of as serialized Ruby objects.
# File lib/active_support/cache.rb, line 541 def create (raw_value, created_at, options = {}) entry = new(nil) entry.instance_variable_set(:@value, raw_value) entry.instance_variable_set(:@created_at, created_at.to_f) entry.instance_variable_set(:@compressed, !!options[:compressed]) entry.instance_variable_set(:@expires_in, options[:expires_in]) entry end
Create a new cache entry for the specified value. Options supported are :compress, :compress_threshold, and :expires_in.
# File lib/active_support/cache.rb, line 553 def initialize(value, options = {}) @compressed = false @expires_in = options[:expires_in] @expires_in = @expires_in.to_f if @expires_in @created_at = Time.now.to_f if value if should_compress?(value, options) @value = Zlib::Deflate.deflate(Marshal.dump(value)) @compressed = true else @value = value end else @value = nil end end
Generated with the Darkfish Rdoc Generator 2.