Class: Valkyrie::Persistence::Memory::Persister
- Inherits:
-
Object
- Object
- Valkyrie::Persistence::Memory::Persister
- Defined in:
- lib/valkyrie/persistence/memory/persister.rb
Overview
Note:
Documentation for persisters in general is maintained here.
Persister for the memory metadata adapter.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
Instance Method Summary collapse
- #delete(resource:) ⇒ Object
-
#initialize(adapter) ⇒ Persister
constructor
A new instance of Persister.
-
#save(resource:) ⇒ Valkyrie::Resource
The resource with an ‘#id` value generated by the persistence backend.
-
#save_all(resources:) ⇒ Array<Valkyrie::Resource>
List of resources with an ‘#id` value generated by the persistence backend.
-
#wipe! ⇒ Object
Wipes all data in the persistence backend.
Constructor Details
#initialize(adapter) ⇒ Persister
Returns a new instance of Persister.
11 12 13 |
# File 'lib/valkyrie/persistence/memory/persister.rb', line 11 def initialize(adapter) @adapter = adapter end |
Instance Attribute Details
#adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
7 8 9 |
# File 'lib/valkyrie/persistence/memory/persister.rb', line 7 def adapter @adapter end |
Instance Method Details
#delete(resource:) ⇒ Object
39 40 41 |
# File 'lib/valkyrie/persistence/memory/persister.rb', line 39 def delete(resource:) cache.delete(resource.id) end |
#save(resource:) ⇒ Valkyrie::Resource
Returns The resource with an ‘#id` value generated by the persistence backend.
18 19 20 21 22 23 24 25 26 |
# File 'lib/valkyrie/persistence/memory/persister.rb', line 18 def save(resource:) resource = generate_id(resource) if resource.id.blank? resource.created_at ||= Time.current resource.updated_at = Time.current resource.new_record = false normalize_dates!(resource) ensure_multiple_values!(resource) cache[resource.id] = resource end |
#save_all(resources:) ⇒ Array<Valkyrie::Resource>
Returns List of resources with an ‘#id` value generated by the persistence backend.
31 32 33 34 35 |
# File 'lib/valkyrie/persistence/memory/persister.rb', line 31 def save_all(resources:) resources.map do |resource| save(resource: resource) end end |
#wipe! ⇒ Object
Wipes all data in the persistence backend.
44 45 46 |
# File 'lib/valkyrie/persistence/memory/persister.rb', line 44 def wipe! cache.clear end |