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 +4 -4
- data/README.md +7 -0
- data/lib/artirix_data_models/dao.rb +41 -14
- data/lib/artirix_data_models/daos/basic_model_dao.rb +96 -46
- data/lib/artirix_data_models/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fe3653650de4408a545fcaf6ecf7843c72764cf
|
4
|
+
data.tar.gz: 34fa0a7c27d9c466c2bd987929bdf0d9290f86be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
61
|
-
model_class
|
62
|
-
paths_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
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
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
|
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
|
20
|
-
@model_class
|
21
|
-
@paths_factory
|
22
|
-
@loaded_gateway
|
23
|
-
@gateway_factory
|
24
|
-
@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:,
|
43
|
-
path
|
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:
|
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(
|
53
|
-
find
|
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
|
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
|
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
|
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
|
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,
|
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:
|
172
|
-
timeout:
|
173
|
-
fake:
|
174
|
-
fake_response:
|
175
|
-
cache_adaptor:
|
176
|
-
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,
|
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:
|
187
|
-
timeout:
|
188
|
-
fake:
|
189
|
-
fake_response:
|
190
|
-
cache_adaptor:
|
191
|
-
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,
|
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:
|
201
|
-
timeout:
|
202
|
-
fake:
|
203
|
-
fake_response:
|
204
|
-
cache_adaptor:
|
205
|
-
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,
|
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:
|
215
|
-
timeout:
|
216
|
-
fake:
|
217
|
-
fake_response:
|
218
|
-
cache_adaptor:
|
219
|
-
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
|
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.
|
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-
|
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.
|
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
|