class Amorail::StoreAdapters::MemoryStoreAdapter
Attributes
storage[R]
Public Class Methods
new(**options)
click to toggle source
# File lib/amorail/store_adapters/memory_store_adapter.rb, line 8 def initialize(**options) raise ArgumentError, 'Memory store doesn\'t support any options' if options.any? @storage = Hash.new { |hh, kk| hh[kk] = {} } end
Public Instance Methods
access_expired?(key)
click to toggle source
# File lib/amorail/store_adapters/memory_store_adapter.rb, line 31 def access_expired?(key) storage[key][:expiration] && Time.now.to_i >= storage[key][:expiration] end
fetch_access(secret)
click to toggle source
# File lib/amorail/store_adapters/memory_store_adapter.rb, line 13 def fetch_access(secret) value_if_not_expired(secret) end
persist_access(secret, token, refresh_token, expiration)
click to toggle source
# File lib/amorail/store_adapters/memory_store_adapter.rb, line 17 def persist_access(secret, token, refresh_token, expiration) access_token = { token: token, refresh_token: refresh_token, expiration: expiration } storage.store(secret, access_token) end
update_access(secret, token, refresh_token, expiration)
click to toggle source
# File lib/amorail/store_adapters/memory_store_adapter.rb, line 22 def update_access(secret, token, refresh_token, expiration) update_access_fields( secret, token: token, refresh_token: refresh_token, expiration: expiration ) end
Private Instance Methods
update_access_fields(key, fields)
click to toggle source
# File lib/amorail/store_adapters/memory_store_adapter.rb, line 45 def update_access_fields(key, fields) storage[key].merge!(fields) end
value_if_not_expired(key)
click to toggle source
# File lib/amorail/store_adapters/memory_store_adapter.rb, line 37 def value_if_not_expired(key) if !access_expired?(key) storage[key] else {} end end