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



21
22
23
24
# File 'lib/sgtn-client/core/cache.rb', line 21

def self.clear
    SgtnClient.logger.debug { "[Cache][clear]clear cache!" }
    @data = {}
end

.dataObject



26
27
28
# File 'lib/sgtn-client/core/cache.rb', line 26

def self.data
    @data ||= {}
end

.get(key) ⇒ Object



10
11
12
13
# File 'lib/sgtn-client/core/cache.rb', line 10

def self.get(key)
    SgtnClient.logger.debug { "[Cache][get]get cache for key: #{key}" }
    return data&.dig(key)
end

.put(key, items, ttl) ⇒ Object



15
16
17
18
19
# File 'lib/sgtn-client/core/cache.rb', line 15

def self.put(key, items, 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