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(criteria) ⇒ 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
- #where(criteria) ⇒ 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
42 43 44 |
# File 'lib/datamappify/repository/query_methods.rb', line 42 def all QueryMethod::FindMultiple.new(, {}).perform end |
#count ⇒ Integer
120 121 122 |
# File 'lib/datamappify/repository/query_methods.rb', line 120 def count QueryMethod::Count.new().perform end |
#create(entity) ⇒ Entity, false
50 51 52 53 54 |
# File 'lib/datamappify/repository/query_methods.rb', line 50 def create(entity) run_callbacks entity, :save, :create do QueryMethod::Create.new(, entity).perform end end |
#create!(entity) ⇒ Entity
61 62 63 |
# File 'lib/datamappify/repository/query_methods.rb', line 61 def create!(entity) create(entity) || raise(Data::EntityNotSaved) end |
#destroy(entity) ⇒ void, false
104 105 106 107 108 |
# File 'lib/datamappify/repository/query_methods.rb', line 104 def destroy(entity) run_callbacks entity, :destroy do QueryMethod::Destroy.new(, entity).perform end end |
#destroy!(entity) ⇒ void
This method returns an undefined value.
115 116 117 |
# File 'lib/datamappify/repository/query_methods.rb', line 115 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(criteria) ⇒ Entity?
27 28 29 |
# File 'lib/datamappify/repository/query_methods.rb', line 27 def find(criteria) QueryMethod::Find.new(, criteria).perform end |
#query_options ⇒ Hash (private)
Some default, required objects passed into each query method
129 130 131 132 133 134 135 |
# File 'lib/datamappify/repository/query_methods.rb', line 129 def { :data_mapper => data_mapper, :states => states, :lazy_load? => lazy_load? } end |
#save(entity) ⇒ Entity, false
88 89 90 |
# File 'lib/datamappify/repository/query_methods.rb', line 88 def save(entity) exists?(entity) ? update(entity) : create(entity) end |
#save!(entity) ⇒ Entity
97 98 99 |
# File 'lib/datamappify/repository/query_methods.rb', line 97 def save!(entity) exists?(entity) ? update!(entity) : create!(entity) end |
#update(entity) ⇒ Entity, false
69 70 71 72 73 |
# File 'lib/datamappify/repository/query_methods.rb', line 69 def update(entity) run_callbacks entity, :save, :update do QueryMethod::Update.new(, entity).perform end end |
#update!(entity) ⇒ Entity
80 81 82 |
# File 'lib/datamappify/repository/query_methods.rb', line 80 def update!(entity) update(entity) || raise(Data::EntityNotSaved) end |
#where(criteria) ⇒ Entity
35 36 37 |
# File 'lib/datamappify/repository/query_methods.rb', line 35 def where(criteria) QueryMethod::FindMultiple.new(, criteria).perform end |