Class: Amorail::StoreAdapters::MemoryStoreAdapter
- Inherits:
-
AbstractStoreAdapter
- Object
- AbstractStoreAdapter
- Amorail::StoreAdapters::MemoryStoreAdapter
- Defined in:
- lib/amorail/store_adapters/memory_store_adapter.rb
Instance Attribute Summary collapse
-
#storage ⇒ Object
readonly
Returns the value of attribute storage.
Instance Method Summary collapse
- #access_expired?(key) ⇒ Boolean
- #fetch_access(secret) ⇒ Object
-
#initialize(**options) ⇒ MemoryStoreAdapter
constructor
A new instance of MemoryStoreAdapter.
- #persist_access(secret, token, refresh_token, expiration) ⇒ Object
- #update_access(secret, token, refresh_token, expiration) ⇒ Object
Methods inherited from AbstractStoreAdapter
Constructor Details
#initialize(**options) ⇒ MemoryStoreAdapter
Returns a new instance of MemoryStoreAdapter.
8 9 10 11 |
# File 'lib/amorail/store_adapters/memory_store_adapter.rb', line 8 def initialize(**) raise ArgumentError, 'Memory store doesn\'t support any options' if .any? @storage = Hash.new { |hh, kk| hh[kk] = {} } end |
Instance Attribute Details
#storage ⇒ Object (readonly)
Returns the value of attribute storage.
6 7 8 |
# File 'lib/amorail/store_adapters/memory_store_adapter.rb', line 6 def storage @storage end |
Instance Method Details
#access_expired?(key) ⇒ Boolean
31 32 33 |
# 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) ⇒ Object
13 14 15 |
# 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) ⇒ Object
17 18 19 20 |
# 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) ⇒ Object
22 23 24 25 26 27 28 29 |
# 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 |