artirix_data_models 0.28.0 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
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