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 +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
|