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