Class: IronCache::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/iron_cache/caches.rb

Instance Method Summary collapse

Constructor Details

#initialize(client, res) ⇒ Cache

Returns a new instance of Cache.



50
51
52
53
# File 'lib/iron_cache/caches.rb', line 50

def initialize(client, res)
  @client = client
  @data = res
end

Instance Method Details

#[](key) ⇒ Object



59
60
61
# File 'lib/iron_cache/caches.rb', line 59

def [](key)
  raw[key]
end

#delete(k, options = {}) ⇒ Object



96
97
98
# File 'lib/iron_cache/caches.rb', line 96

def delete(k, options={})
  @client.items.delete(k, options.merge(:cache_name=>name))
end

#get(k, options = {}) ⇒ Object



92
93
94
# File 'lib/iron_cache/caches.rb', line 92

def get(k, options={})
  @client.items.get(k, options.merge(:cache_name=>name))
end

#idObject



63
64
65
# File 'lib/iron_cache/caches.rb', line 63

def id
  raw["id"]
end

#increment(k, amount = 1, options = {}) ⇒ Object



100
101
102
# File 'lib/iron_cache/caches.rb', line 100

def increment(k, amount=1, options={})
  @client.items.increment(k, amount, options.merge(:cache_name=>name))
end

#load_cacheObject

Used if lazy loading



72
73
74
75
76
77
# File 'lib/iron_cache/caches.rb', line 72

def load_cache
  q = @client.caches.get(:name=>name)
  @client.logger.debug "GOT Q: " + q.inspect
  @data = q.raw
  q
end

#nameObject



67
68
69
# File 'lib/iron_cache/caches.rb', line 67

def name
  raw["name"]
end

#put(k, v, options = {}) ⇒ Object

not supported in API yet def size

return raw["size"] if raw["size"]
return @size if @size
q = load_cache()
@size = q.size
@size

end



88
89
90
# File 'lib/iron_cache/caches.rb', line 88

def put(k, v, options={})
  @client.items.put(k, v, options.merge(:cache_name=>name))
end

#rawObject



55
56
57
# File 'lib/iron_cache/caches.rb', line 55

def raw
  @data
end