Class: Valkyrie::Persistence::Postgres::Persister
- Inherits:
-
Object
- Object
- Valkyrie::Persistence::Postgres::Persister
- Defined in:
- lib/valkyrie/persistence/postgres/persister.rb
Overview
Persister for Postgres MetadataAdapter.
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.
9 10 11 |
# File 'lib/valkyrie/persistence/postgres/persister.rb', line 9 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/postgres/persister.rb', line 7 def adapter @adapter end |
Instance Method Details
#delete(resource:) ⇒ Object
29 30 31 32 33 |
# File 'lib/valkyrie/persistence/postgres/persister.rb', line 29 def delete(resource:) orm_object = resource_factory.from_resource(resource: resource) orm_object.delete resource end |
#save(resource:) ⇒ Valkyrie::Resource
Returns The resource with an ‘#id` value generated by the persistence backend.
14 15 16 17 18 19 |
# File 'lib/valkyrie/persistence/postgres/persister.rb', line 14 def save(resource:) ensure_multiple_values!(resource) orm_object = resource_factory.from_resource(resource: resource) orm_object.save! resource_factory.to_resource(object: orm_object) end |
#save_all(resources:) ⇒ Array<Valkyrie::Resource>
Returns List of resources with an ‘#id` value generated by the persistence backend.
22 23 24 25 26 |
# File 'lib/valkyrie/persistence/postgres/persister.rb', line 22 def save_all(resources:) resources.map do |resource| save(resource: resource) end end |
#wipe! ⇒ Object
Wipes all data in the persistence backend.
36 37 38 |
# File 'lib/valkyrie/persistence/postgres/persister.rb', line 36 def wipe! resource_factory.orm_class.delete_all end |