Class: SgtnClient::Core::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/sgtn-client/core/cache.rb

Defined Under Namespace

Classes: Entry

Class Method Summary collapse

Class Method Details

.clearObject



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