Module: Datamappify::Repository::QueryMethods
- Defined in:
- lib/datamappify/repository/query_methods.rb
Class Method Summary collapse
Instance Method Summary collapse
- #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
#count ⇒ Integer
105 106 107 |
# File 'lib/datamappify/repository/query_methods.rb', line 105 def count QueryMethod::Count.new().perform end |
#create(entity) ⇒ Entity, false
35 36 37 38 39 |
# File 'lib/datamappify/repository/query_methods.rb', line 35 def create(entity) run_callbacks entity, :save, :create do QueryMethod::Create.new(, entity).perform end end |
#create!(entity) ⇒ Entity
46 47 48 |
# File 'lib/datamappify/repository/query_methods.rb', line 46 def create!(entity) create(entity) || raise(Data::EntityNotSaved) end |
#destroy(entity) ⇒ void, false
89 90 91 92 93 |
# File 'lib/datamappify/repository/query_methods.rb', line 89 def destroy(entity) run_callbacks entity, :destroy do QueryMethod::Destroy.new(, entity).perform end end |
#destroy!(entity) ⇒ void
This method returns an undefined value.
100 101 102 |
# File 'lib/datamappify/repository/query_methods.rb', line 100 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
114 115 116 117 118 119 120 |
# File 'lib/datamappify/repository/query_methods.rb', line 114 def { :data_mapper => data_mapper, :states => states, :lazy_load? => lazy_load? } end |
#save(entity) ⇒ Entity, false
73 74 75 |
# File 'lib/datamappify/repository/query_methods.rb', line 73 def save(entity) exists?(entity) ? update(entity) : create(entity) end |
#save!(entity) ⇒ Entity
82 83 84 |
# File 'lib/datamappify/repository/query_methods.rb', line 82 def save!(entity) exists?(entity) ? update!(entity) : create!(entity) end |
#update(entity) ⇒ Entity, false
54 55 56 57 58 |
# File 'lib/datamappify/repository/query_methods.rb', line 54 def update(entity) run_callbacks entity, :save, :update do QueryMethod::Update.new(, entity).perform end end |
#update!(entity) ⇒ Entity
65 66 67 |
# File 'lib/datamappify/repository/query_methods.rb', line 65 def update!(entity) update(entity) || raise(Data::EntityNotSaved) end |