Module: Datamappify::Repository::QueryMethods
- Defined in:
- lib/datamappify/repository/query_methods.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#all ⇒ Array<Entity>
Returns a collection of all the entities in the repository.
- #count ⇒ Integer
- #create(entity) ⇒ Entity, false
- #create!(entity) ⇒ Entity
- #destroy(entity) ⇒ void, false
- #destroy!(entity) ⇒ void
-
#exists?(entity) ⇒ Boolean
Does the entity exist already in the repository?.
- #find(id) ⇒ Entity?
-
#query_options ⇒ Hash
private
Some default, required objects passed into each query method.
- #save(entity) ⇒ Entity, false
- #save!(entity) ⇒ Entity
- #update(entity) ⇒ Entity, false
- #update!(entity) ⇒ Entity
Class Method Details
.included(klass) ⇒ Object
8 9 10 11 12 |
# File 'lib/datamappify/repository/query_methods.rb', line 8 def self.included(klass) klass.class_eval do include QueryMethod::Callbacks end end |
Instance Method Details
#all ⇒ Array<Entity>
Returns a collection of all the entities in the repository
34 35 36 |
# File 'lib/datamappify/repository/query_methods.rb', line 34 def all QueryMethod::FindMultiple.new(, {}).perform end |
#count ⇒ Integer
112 113 114 |
# File 'lib/datamappify/repository/query_methods.rb', line 112 def count QueryMethod::Count.new().perform end |
#create(entity) ⇒ Entity, false
42 43 44 45 46 |
# File 'lib/datamappify/repository/query_methods.rb', line 42 def create(entity) run_callbacks entity, :save, :create do QueryMethod::Create.new(, entity).perform end end |
#create!(entity) ⇒ Entity
53 54 55 |
# File 'lib/datamappify/repository/query_methods.rb', line 53 def create!(entity) create(entity) || raise(Data::EntityNotSaved) end |
#destroy(entity) ⇒ void, false
96 97 98 99 100 |
# File 'lib/datamappify/repository/query_methods.rb', line 96 def destroy(entity) run_callbacks entity, :destroy do QueryMethod::Destroy.new(, entity).perform end end |
#destroy!(entity) ⇒ void
This method returns an undefined value.
107 108 109 |
# File 'lib/datamappify/repository/query_methods.rb', line 107 def destroy!(entity) destroy(entity) || raise(Data::EntityNotDestroyed) end |
#exists?(entity) ⇒ Boolean
Does the entity exist already in the repository?
19 20 21 |
# File 'lib/datamappify/repository/query_methods.rb', line 19 def exists?(entity) QueryMethod::Exists.new(, entity).perform end |
#find(id) ⇒ Entity?
27 28 29 |
# File 'lib/datamappify/repository/query_methods.rb', line 27 def find(id) QueryMethod::Find.new(, id).perform end |
#query_options ⇒ Hash (private)
Some default, required objects passed into each query method
121 122 123 124 125 126 127 |
# File 'lib/datamappify/repository/query_methods.rb', line 121 def { :data_mapper => data_mapper, :states => states, :lazy_load? => lazy_load? } end |
#save(entity) ⇒ Entity, false
80 81 82 |
# File 'lib/datamappify/repository/query_methods.rb', line 80 def save(entity) exists?(entity) ? update(entity) : create(entity) end |
#save!(entity) ⇒ Entity
89 90 91 |
# File 'lib/datamappify/repository/query_methods.rb', line 89 def save!(entity) exists?(entity) ? update!(entity) : create!(entity) end |
#update(entity) ⇒ Entity, false
61 62 63 64 65 |
# File 'lib/datamappify/repository/query_methods.rb', line 61 def update(entity) run_callbacks entity, :save, :update do QueryMethod::Update.new(, entity).perform end end |
#update!(entity) ⇒ Entity
72 73 74 |
# File 'lib/datamappify/repository/query_methods.rb', line 72 def update!(entity) update(entity) || raise(Data::EntityNotSaved) end |