artirix_data_models 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b9c0fd21a6d73d7192b13f8262cbb949f921dbbe
4
- data.tar.gz: e48528f6d18a14a23e69a9c24a608cd7416009b9
3
+ metadata.gz: 5fe3653650de4408a545fcaf6ecf7843c72764cf
4
+ data.tar.gz: 34fa0a7c27d9c466c2bd987929bdf0d9290f86be
5
5
  SHA512:
6
- metadata.gz: d4f146b9140763a7416be9347cabb7ac1471f22eb121b12b63c637557d096e245dfbee7659e7bffc6f7575f8d6e242e311c28f503cf3e1268437df9844300481
7
- data.tar.gz: dd663c0dab73573230983c03438bb64a895ded3372cc88eda1b5e64a5a60e9202d1f9e5d2fca829d5f10f645ff750d6344d0cd865c0d5827fd271e6be60f82cc
6
+ metadata.gz: 7256b531151293af824faf7d7074e17a8510dde1b88a2326e8c8e675be7eaf4af754c421eb63070af5d35f3f35cb8d03ff39ed3b354d8116ba1236d141322d9f
7
+ data.tar.gz: 9dd553a8d95cef1a0e6fdb0e131752fbe95fa593030424579ad3eea13e35412c2a66ede33e287b41a4044e606a6e4c7c61f06b0591c796aa3374f317ccc83510
data/README.md CHANGED
@@ -327,6 +327,13 @@ end
327
327
 
328
328
  ## Changes
329
329
 
330
+ ### 0.29.0
331
+
332
+ - in `DAO`, extracted the creation of the `@basic_model_dao` into a `create_basic_model_dao` method. This method can be now overridden. It accepts other params that will be passed in the object creation.
333
+
334
+ - in both `DAO` and `BasicModelDAO`, in methods `get_full`, `get`, `find` and `get_some`, we can now pass arguments `path` and `fake_response`. If the values are not passed or if they are falsey then the default generation will be used.
335
+
336
+
330
337
  ### 0.28.0
331
338
  - receive `faraday_build_proc` argument in `ArtirixDataModels::DataGateway::ConnectionLoader.connection`. If present, it will be passed the faraday connection before adding any configuration
332
339
  ```
@@ -57,25 +57,52 @@ module ArtirixDataModels
57
57
  paths_factory: nil,
58
58
  fake_mode_factory: nil)
59
59
 
60
- model_name ||= default_model_name
61
- model_class ||= default_model_class
62
- paths_factory ||= default_path_factory
60
+ model_name ||= default_model_name
61
+ model_class ||= default_model_class
62
+ paths_factory ||= default_path_factory
63
63
  fake_mode_factory ||= default_fake_mode_factory
64
64
 
65
65
  # temporary dao registry to load basic_class only
66
- dr = ArtirixDataModels::WithDAORegistry.loader_or_registry_or_default(dao_registry_loader: dao_registry_loader, dao_registry: dao_registry)
67
- @basic_model_dao = dr.get(:basic_class).new model_name: model_name,
68
- model_class: model_class,
69
- fake_mode_factory: fake_mode_factory,
70
- paths_factory: paths_factory,
71
- gateway: gateway,
72
- gateway_factory: gateway_factory,
73
- dao_registry: dao_registry,
74
- dao_registry_loader: dao_registry_loader,
75
- ignore_default_gateway: ignore_default_gateway
66
+ create_basic_model_dao dao_registry: dao_registry,
67
+ dao_registry_loader: dao_registry_loader,
68
+ fake_mode_factory: fake_mode_factory,
69
+ gateway: gateway,
70
+ gateway_factory: gateway_factory,
71
+ ignore_default_gateway: ignore_default_gateway,
72
+ model_class: model_class,
73
+ model_name: model_name,
74
+ paths_factory: paths_factory
76
75
 
77
76
  end
78
77
 
78
+ def create_basic_model_dao(dao_registry:,
79
+ dao_registry_loader:,
80
+ fake_mode_factory:,
81
+ gateway:,
82
+ gateway_factory:,
83
+ ignore_default_gateway:,
84
+ model_class:,
85
+ model_name:,
86
+ paths_factory:,
87
+ **other_basic_model_dao_params)
88
+
89
+ dr = ArtirixDataModels::WithDAORegistry.loader_or_registry_or_default dao_registry_loader: dao_registry_loader,
90
+ dao_registry: dao_registry
91
+
92
+ basic_model_class = dr.get(:basic_class)
93
+
94
+ @basic_model_dao = basic_model_class.new model_name: model_name,
95
+ model_class: model_class,
96
+ fake_mode_factory: fake_mode_factory,
97
+ paths_factory: paths_factory,
98
+ gateway: gateway,
99
+ gateway_factory: gateway_factory,
100
+ dao_registry: dao_registry,
101
+ dao_registry_loader: dao_registry_loader,
102
+ ignore_default_gateway: ignore_default_gateway,
103
+ **other_basic_model_dao_params
104
+ end
105
+
79
106
  def default_model_name
80
107
  defined?(self.class::MODEL_NAME) ? self.class::MODEL_NAME : nil
81
108
  end
@@ -118,7 +145,7 @@ module ArtirixDataModels
118
145
  def get_full(model_pk, model_to_reload: nil, cache_adaptor: nil, **extra_options)
119
146
  # we do not check in the registry, since it could be a reload
120
147
  model_to_reload ||= new_model_with_pk(model_pk)
121
- cache_adaptor ||= cache_model_adaptor_for_get_full(model_pk, model_to_reload: model_to_reload, **extra_options)
148
+ cache_adaptor ||= cache_model_adaptor_for_get_full(model_pk, model_to_reload: model_to_reload, **extra_options)
122
149
 
123
150
  model = basic_model_dao.get_full(model_pk, model_to_reload: model_to_reload, cache_adaptor: cache_adaptor, **extra_options)
124
151
 
@@ -16,12 +16,12 @@ class ArtirixDataModels::BasicModelDAO
16
16
 
17
17
  set_dao_registry_and_loader dao_registry_loader, dao_registry
18
18
 
19
- @model_name = model_name
20
- @model_class = model_class
21
- @paths_factory = paths_factory
22
- @loaded_gateway = gateway
23
- @gateway_factory = gateway_factory
24
- @fake_mode_factory = fake_mode_factory
19
+ @model_name = model_name
20
+ @model_class = model_class
21
+ @paths_factory = paths_factory
22
+ @loaded_gateway = gateway
23
+ @gateway_factory = gateway_factory
24
+ @fake_mode_factory = fake_mode_factory
25
25
  @ignore_default_gateway = ignore_default_gateway
26
26
  end
27
27
 
@@ -39,34 +39,44 @@ class ArtirixDataModels::BasicModelDAO
39
39
  # ACTIONS #
40
40
  ###########
41
41
 
42
- def get_full(model_pk, model_to_reload:, response_adaptor: nil, cache_adaptor: nil, **extra_options)
43
- path = paths_factory.get_full model_pk
42
+ def get_full(model_pk, model_to_reload:, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options)
43
+ path ||= paths_factory.get_full model_pk
44
44
  response_adaptor ||= response_adaptor_for_reload(model_to_reload)
45
+ fake_response ||= fake_get_full_response(model_pk, model_to_reload)
45
46
 
46
- perform_get path, response_adaptor: response_adaptor, fake_response: fake_get_full_response(model_pk, model_to_reload), cache_adaptor: cache_adaptor, **extra_options
47
+ perform_get path, response_adaptor: response_adaptor, fake_response: fake_response, cache_adaptor: cache_adaptor, **extra_options
47
48
 
48
49
  model_to_reload.mark_full_mode
49
50
  model_to_reload
50
51
  end
51
52
 
52
- def get(model_pk, cache_adaptor: nil, **extra_options)
53
- find(model_pk, cache_adaptor: cache_adaptor, **extra_options)
53
+ def get(*args)
54
+ find *args
54
55
  rescue ArtirixDataModels::DataGateway::NotFound
55
56
  nil
56
57
  end
57
58
 
58
- def find(model_pk, cache_adaptor: nil, response_adaptor: nil, **extra_options)
59
- path = paths_factory.get model_pk
59
+ def find(model_pk, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options)
60
+ path ||= paths_factory.get model_pk
60
61
  response_adaptor ||= response_adaptor_for_single
62
+ fake_response ||= fake_get_response(model_pk)
61
63
 
62
- perform_get(path, response_adaptor: response_adaptor, fake_response: fake_get_response(model_pk), cache_adaptor: cache_adaptor, **extra_options)
64
+ perform_get path,
65
+ response_adaptor: response_adaptor,
66
+ fake_response: fake_response,
67
+ cache_adaptor: cache_adaptor,
68
+ **extra_options
63
69
  end
64
70
 
65
- def get_some(model_pks, cache_adaptor: nil, response_adaptor: nil, **extra_options)
66
- path = paths_factory.get_some(model_pks)
71
+ def get_some(model_pks, path: nil, fake_response: nil, cache_adaptor: nil, response_adaptor: nil, **extra_options)
72
+ path ||= paths_factory.get_some(model_pks)
67
73
  response_adaptor ||= response_adaptor_for_some
68
-
69
- perform_get(path, response_adaptor: response_adaptor, fake_response: fake_get_some_response(model_pks), cache_adaptor: cache_adaptor, **extra_options)
74
+ fake_response ||= fake_get_some_response(model_pks)
75
+ perform_get path,
76
+ response_adaptor: response_adaptor,
77
+ fake_response: fake_response,
78
+ cache_adaptor: cache_adaptor,
79
+ **extra_options
70
80
  rescue ArtirixDataModels::DataGateway::NotFound
71
81
  []
72
82
  end
@@ -162,61 +172,101 @@ class ArtirixDataModels::BasicModelDAO
162
172
  # PERFORM CALLS #
163
173
  #################
164
174
 
165
- def perform_get(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
175
+ def perform_get(path,
176
+ fake: nil,
177
+ response_adaptor: nil,
178
+ body: nil,
179
+ fake_response: nil,
180
+ cache_adaptor: nil,
181
+ timeout: nil,
182
+ gateway: nil,
183
+ headers: nil)
184
+
185
+ fake = fake.nil? ? fake? : fake
166
186
  g = gateway.presence || preloaded_gateway
167
187
  raise_no_gateway unless g.present?
168
188
 
169
189
  g.get path,
170
190
  response_adaptor: response_adaptor,
171
- body: body,
172
- timeout: timeout,
173
- fake: fake?,
174
- fake_response: fake_response,
175
- cache_adaptor: cache_adaptor,
176
- headers: headers
191
+ body: body,
192
+ timeout: timeout,
193
+ fake: fake,
194
+ fake_response: fake_response,
195
+ cache_adaptor: cache_adaptor,
196
+ headers: headers
177
197
  end
178
198
 
179
199
 
180
- def perform_post(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
200
+ def perform_post(path,
201
+ fake: nil,
202
+ response_adaptor: nil,
203
+ body: nil,
204
+ fake_response: nil,
205
+ cache_adaptor: nil,
206
+ timeout: nil,
207
+ gateway: nil,
208
+ headers: nil)
209
+
210
+ fake = fake.nil? ? fake? : fake
181
211
  g = gateway.presence || preloaded_gateway
182
212
  raise_no_gateway unless g.present?
183
213
 
184
214
  g.post path,
185
215
  response_adaptor: response_adaptor,
186
- body: body,
187
- timeout: timeout,
188
- fake: fake?,
189
- fake_response: fake_response,
190
- cache_adaptor: cache_adaptor,
191
- headers: headers
216
+ body: body,
217
+ timeout: timeout,
218
+ fake: fake,
219
+ fake_response: fake_response,
220
+ cache_adaptor: cache_adaptor,
221
+ headers: headers
192
222
  end
193
223
 
194
- def perform_put(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
224
+ def perform_put(path,
225
+ fake: nil,
226
+ response_adaptor: nil,
227
+ body: nil,
228
+ fake_response: nil,
229
+ cache_adaptor: nil,
230
+ timeout: nil,
231
+ gateway: nil,
232
+ headers: nil)
233
+
234
+ fake = fake.nil? ? fake? : fake
195
235
  g = gateway.presence || preloaded_gateway
196
236
  raise_no_gateway unless g.present?
197
237
 
198
238
  g.put path,
199
239
  response_adaptor: response_adaptor,
200
- body: body,
201
- timeout: timeout,
202
- fake: fake?,
203
- fake_response: fake_response,
204
- cache_adaptor: cache_adaptor,
205
- headers: headers
240
+ body: body,
241
+ timeout: timeout,
242
+ fake: fake,
243
+ fake_response: fake_response,
244
+ cache_adaptor: cache_adaptor,
245
+ headers: headers
206
246
  end
207
247
 
208
- def perform_delete(path, response_adaptor: nil, body: nil, fake_response: nil, cache_adaptor: nil, timeout: nil, gateway: nil, headers: nil)
248
+ def perform_delete(path,
249
+ fake: nil,
250
+ response_adaptor: nil,
251
+ body: nil,
252
+ fake_response: nil,
253
+ cache_adaptor: nil,
254
+ timeout: nil,
255
+ gateway: nil,
256
+ headers: nil)
257
+
258
+ fake = fake.nil? ? fake? : fake
209
259
  g = gateway.presence || preloaded_gateway
210
260
  raise_no_gateway unless g.present?
211
261
 
212
262
  g.delete path,
213
263
  response_adaptor: response_adaptor,
214
- body: body,
215
- timeout: timeout,
216
- fake: fake?,
217
- fake_response: fake_response,
218
- cache_adaptor: cache_adaptor,
219
- headers: headers
264
+ body: body,
265
+ timeout: timeout,
266
+ fake: fake,
267
+ fake_response: fake_response,
268
+ cache_adaptor: cache_adaptor,
269
+ headers: headers
220
270
  end
221
271
 
222
272
  # old names
@@ -1,3 +1,3 @@
1
1
  module ArtirixDataModels
2
- VERSION = '0.28.0'
2
+ VERSION = '0.29.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: artirix_data_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Turiño
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-24 00:00:00.000000000 Z
11
+ date: 2016-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -326,7 +326,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
326
326
  version: '0'
327
327
  requirements: []
328
328
  rubyforge_project:
329
- rubygems_version: 2.2.5
329
+ rubygems_version: 2.5.1
330
330
  signing_key:
331
331
  specification_version: 4
332
332
  summary: Data Models (read only model) and Data Layer connection lib