Class: SgtnClient::Core::Cache
- Inherits:
-
Object
- Object
- SgtnClient::Core::Cache
- Defined in:
- lib/sgtn-client/core/cache.rb
Defined Under Namespace
Classes: Entry
Class Method Summary collapse
- .clear ⇒ Object
- .get(key) ⇒ Object
- .initialize(disabled = false, opts = {}) ⇒ Object
- .put(key, items, ttl = nil) ⇒ Object
Class Method Details
.clear ⇒ Object
28 29 30 31 |
# File 'lib/sgtn-client/core/cache.rb', line 28 def self.clear SgtnClient.logger.debug "[Cache][clear]clear cache!" @@data = Hash.new end |
.get(key) ⇒ Object
16 17 18 19 |
# File 'lib/sgtn-client/core/cache.rb', line 16 def self.get(key) SgtnClient.logger.debug "[Cache][get]get cache for key: " + key return @@data&.dig(key) end |
.initialize(disabled = false, opts = {}) ⇒ Object
10 11 12 13 14 |
# File 'lib/sgtn-client/core/cache.rb', line 10 def self.initialize(disabled=false, opts={}) @@opts = opts SgtnClient.logger.debug "[Cache][initialize] Disable cache? #{disabled}" @@data = Hash.new end |
.put(key, items, ttl = nil) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/sgtn-client/core/cache.rb', line 21 def self.put(key, items, ttl=nil) ttl ||= @@opts[:ttl] # hours from new SgtnClient.logger.debug "[Cache][put]put cache for key '" + key + "' with expired time at'" + (Time.now + ttl*60).to_s @@data[key] = Entry.new(Time.now + ttl*60, items) end |