Class: ArtirixDataModels::BasicModelDAO
- Inherits:
-
Object
- Object
- ArtirixDataModels::BasicModelDAO
- Defined in:
- lib/artirix_data_models/daos/basic_model_dao.rb
Instance Attribute Summary collapse
-
#fake_mode_factory ⇒ Object
readonly
Returns the value of attribute fake_mode_factory.
-
#gateway ⇒ Object
readonly
Returns the value of attribute gateway.
-
#model_class ⇒ Object
readonly
Returns the value of attribute model_class.
-
#model_name ⇒ Object
readonly
Returns the value of attribute model_name.
-
#paths_factory ⇒ Object
readonly
Returns the value of attribute paths_factory.
Instance Method Summary collapse
- #_get(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil) ⇒ Object
- #_post(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil) ⇒ Object
- #empty_collection(from, size) ⇒ Object
- #empty_collection_for(model_class, from, size) ⇒ Object
- #fake? ⇒ Boolean
- #fake_get_full_response(model_pk, model_to_reload = nil) ⇒ Object
- #fake_get_response(model_pk) ⇒ Object
- #fake_get_some_response(model_pks) ⇒ Object
- #find(model_pk, cache_adaptor: nil, **extra_options) ⇒ Object
- #force_fake_disabled ⇒ Object
- #force_fake_enabled ⇒ Object
- #forced_fake_disabled? ⇒ Boolean
- #forced_fake_enabled? ⇒ Boolean
- #get(model_pk, cache_adaptor: nil, **extra_options) ⇒ Object
- #get_full(model_pk, model_to_reload:, cache_adaptor: nil, **extra_options) ⇒ Object
- #get_some(model_pks, cache_adaptor: nil, **extra_options) ⇒ Object
-
#initialize(model_name, model_class, paths_factory, gateway, fake_mode_factory) ⇒ BasicModelDAO
constructor
A new instance of BasicModelDAO.
- #model_adaptor_factory ⇒ Object
- #partial_mode_fields ⇒ Object
- #remove_force_fake ⇒ Object
- #response_adaptor_for_collection(from, size, collection_element_model_class = model_class) ⇒ Object
- #response_adaptor_for_reload(model_to_reload) ⇒ Object
- #response_adaptor_for_single ⇒ Object
- #response_adaptor_for_some(element_model_class = model_class) ⇒ Object
Constructor Details
#initialize(model_name, model_class, paths_factory, gateway, fake_mode_factory) ⇒ BasicModelDAO
Returns a new instance of BasicModelDAO.
4 5 6 7 8 9 10 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 4 def initialize(model_name, model_class, paths_factory, gateway, fake_mode_factory) @model_name = model_name @model_class = model_class @paths_factory = paths_factory @gateway = gateway @fake_mode_factory = fake_mode_factory end |
Instance Attribute Details
#fake_mode_factory ⇒ Object (readonly)
Returns the value of attribute fake_mode_factory.
2 3 4 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 2 def fake_mode_factory @fake_mode_factory end |
#gateway ⇒ Object (readonly)
Returns the value of attribute gateway.
2 3 4 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 2 def gateway @gateway end |
#model_class ⇒ Object (readonly)
Returns the value of attribute model_class.
2 3 4 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 2 def model_class @model_class end |
#model_name ⇒ Object (readonly)
Returns the value of attribute model_name.
2 3 4 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 2 def model_name @model_name end |
#paths_factory ⇒ Object (readonly)
Returns the value of attribute paths_factory.
2 3 4 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 2 def paths_factory @paths_factory end |
Instance Method Details
#_get(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil) ⇒ Object
119 120 121 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 119 def _get(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil) gateway.get path, response_adaptor: response_adaptor, body: body, fake: fake?, fake_response: fake_response, cache_adaptor: cache_adaptor end |
#_post(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil) ⇒ Object
123 124 125 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 123 def _post(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil) gateway.post path, response_adaptor: response_adaptor, body: body, fake: fake?, fake_response: fake_response, cache_adaptor: cache_adaptor end |
#empty_collection(from, size) ⇒ Object
107 108 109 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 107 def empty_collection(from, size) empty_collection_for model_class, from, size end |
#empty_collection_for(model_class, from, size) ⇒ Object
111 112 113 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 111 def empty_collection_for(model_class, from, size) ArtirixDataModels::EsCollection.empty model_class, from: from, size: size end |
#fake? ⇒ Boolean
127 128 129 130 131 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 127 def fake? return true if forced_fake_enabled? return false if forced_fake_disabled? fake_mode_factory.enabled? end |
#fake_get_full_response(model_pk, model_to_reload = nil) ⇒ Object
84 85 86 87 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 84 def fake_get_full_response(model_pk, model_to_reload = nil) return nil unless fake? fake_mode_factory.get_full model_pk, model_to_reload end |
#fake_get_response(model_pk) ⇒ Object
74 75 76 77 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 74 def fake_get_response(model_pk) return nil unless fake? fake_mode_factory.get model_pk end |
#fake_get_some_response(model_pks) ⇒ Object
79 80 81 82 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 79 def fake_get_some_response(model_pks) return nil unless fake? fake_mode_factory.get_some model_pks end |
#find(model_pk, cache_adaptor: nil, **extra_options) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 36 def find(model_pk, cache_adaptor: nil, **) path = paths_factory.get model_pk adaptor = response_adaptor_for_single _get(path, response_adaptor: adaptor, fake_response: fake_get_response(model_pk), cache_adaptor: cache_adaptor, **) end |
#force_fake_disabled ⇒ Object
56 57 58 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 56 def force_fake_disabled @_forced_fake_enabled = false end |
#force_fake_enabled ⇒ Object
52 53 54 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 52 def force_fake_enabled @_forced_fake_enabled = true end |
#forced_fake_disabled? ⇒ Boolean
69 70 71 72 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 69 def forced_fake_disabled? return false if @_forced_fake_enabled.nil? !@_forced_fake_enabled end |
#forced_fake_enabled? ⇒ Boolean
64 65 66 67 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 64 def forced_fake_enabled? return false if @_forced_fake_enabled.nil? !!@_forced_fake_enabled end |
#get(model_pk, cache_adaptor: nil, **extra_options) ⇒ Object
30 31 32 33 34 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 30 def get(model_pk, cache_adaptor: nil, **) find(model_pk, cache_adaptor: cache_adaptor, **) rescue ArtirixDataModels::DataGateway::NotFound nil end |
#get_full(model_pk, model_to_reload:, cache_adaptor: nil, **extra_options) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 20 def get_full(model_pk, model_to_reload:, cache_adaptor: nil, **) path = paths_factory.get_full model_pk adaptor = response_adaptor_for_reload(model_to_reload) _get path, response_adaptor: adaptor, fake_response: fake_get_full_response(model_pk, model_to_reload), cache_adaptor: cache_adaptor, ** model_to_reload.mark_full_mode model_to_reload end |
#get_some(model_pks, cache_adaptor: nil, **extra_options) ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 43 def get_some(model_pks, cache_adaptor: nil, **) path = paths_factory.get_some(model_pks) adaptor = response_adaptor_for_some _get(path, response_adaptor: adaptor, fake_response: fake_get_some_response(model_pks), cache_adaptor: cache_adaptor, **) rescue ArtirixDataModels::DataGateway::NotFound [] end |
#model_adaptor_factory ⇒ Object
115 116 117 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 115 def model_adaptor_factory ArtirixDataModels::GatewayResponseAdaptors::ModelAdaptor end |
#partial_mode_fields ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 12 def partial_mode_fields if fake? fake_mode_factory.partial_mode_fields else ArtirixDataModels::DAORegistry.model_fields.partial_mode_fields_for model_name end end |
#remove_force_fake ⇒ Object
60 61 62 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 60 def remove_force_fake @_forced_fake_enabled = nil end |
#response_adaptor_for_collection(from, size, collection_element_model_class = model_class) ⇒ Object
103 104 105 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 103 def response_adaptor_for_collection(from, size, collection_element_model_class = model_class) model_adaptor_factory.collection collection_element_model_class, from, size end |
#response_adaptor_for_reload(model_to_reload) ⇒ Object
89 90 91 92 93 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 89 def response_adaptor_for_reload(model_to_reload) model_adaptor_factory.with_block do |data_hash| model_to_reload.reload_with data_hash end end |
#response_adaptor_for_single ⇒ Object
95 96 97 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 95 def response_adaptor_for_single model_adaptor_factory.single model_class end |
#response_adaptor_for_some(element_model_class = model_class) ⇒ Object
99 100 101 |
# File 'lib/artirix_data_models/daos/basic_model_dao.rb', line 99 def response_adaptor_for_some(element_model_class = model_class) model_adaptor_factory.some element_model_class end |