marty 2.6.0 → 2.6.1
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/.rubocop.yml +11 -0
- data/Gemfile.lock +4 -2
- data/app/helpers/marty/enum_helper.rb +11 -0
- data/app/models/marty/data_grid.rb +18 -35
- data/app/models/marty/pg_enum.rb +4 -0
- data/lib/marty/data_change.rb +3 -1
- data/lib/marty/monkey.rb +1 -1
- data/lib/marty/version.rb +1 -1
- data/make-dummy.mk +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb3ca7ab90c87f02efe558edd6cc4645ab3e9fa519ca047961b959d72c58d2b9
|
4
|
+
data.tar.gz: 13ef9b0ebbe0f2e6de2de7e2b8684cadbef122ecc8fec8f1c5dee8240014191c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 175f379edebcf299c9b6b0c9d3432bbabb16029f64d4d918b292f4812198efa47716ba88fd4e405230d52ffae5d44afb93fe614541d431f7ad20c47c82d3d5f6
|
7
|
+
data.tar.gz: d4f24991b4876a9f4e97e9facb97d4c68025b3d89fe29fd2e731f3ebd265ff77b7377f3a494b47879119202515cc26f18f040ab0da97bc9717e15c55fb76d6c5
|
data/.rubocop.yml
CHANGED
@@ -22,3 +22,14 @@ Metrics/BlockLength:
|
|
22
22
|
Exclude:
|
23
23
|
- 'spec/**/*'
|
24
24
|
|
25
|
+
Style/CaseEquality:
|
26
|
+
Exclude:
|
27
|
+
- 'app/components/marty/report_form.rb'
|
28
|
+
- 'app/models/marty/data_grid.rb'
|
29
|
+
- 'app/helpers/marty/enum_helper.rb'
|
30
|
+
- 'lib/marty/data_change.rb'
|
31
|
+
- 'lib/marty/data_conversion.rb'
|
32
|
+
- 'lib/marty/mcfly_model.rb'
|
33
|
+
- 'lib/marty/monkey.rb'
|
34
|
+
- 'other/marty/api/base.rb'
|
35
|
+
- 'spec/lib/mcfly_model_spec.rb'
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
marty (2.
|
4
|
+
marty (2.6.0)
|
5
5
|
aws-sigv4 (~> 1.0, >= 1.0.2)
|
6
6
|
axlsx (= 3.0.0pre)
|
7
7
|
coderay
|
@@ -62,7 +62,9 @@ GEM
|
|
62
62
|
io-like (~> 0.3.0)
|
63
63
|
arel (8.0.0)
|
64
64
|
ast (2.4.0)
|
65
|
-
aws-
|
65
|
+
aws-eventstream (1.0.2)
|
66
|
+
aws-sigv4 (1.1.0)
|
67
|
+
aws-eventstream (~> 1.0, >= 1.0.2)
|
66
68
|
axlsx (3.0.0.pre)
|
67
69
|
htmlentities (~> 4.3, >= 4.3.4)
|
68
70
|
mimemagic (~> 0.3)
|
@@ -92,11 +92,6 @@ class Marty::DataGrid < Marty::Base
|
|
92
92
|
dga && Hash[fields.zip(dga)]
|
93
93
|
end
|
94
94
|
|
95
|
-
# deprecated - remove 2018-Oct
|
96
|
-
cached_mcfly_lookup :lookup_id, sig: 2 do |pt, group_id|
|
97
|
-
find_by_group_id group_id
|
98
|
-
end
|
99
|
-
|
100
95
|
cached_delorean_fn :exists, sig: 2 do |pt, name|
|
101
96
|
Marty::DataGrid.mcfly_pt(pt).where(name: name).exists?
|
102
97
|
end
|
@@ -221,19 +216,6 @@ class Marty::DataGrid < Marty::Base
|
|
221
216
|
res
|
222
217
|
end
|
223
218
|
|
224
|
-
# deprecated - remove 2018-Oct
|
225
|
-
cached_delorean_fn :lookup_grid, sig: 4 do |pt, dg, h, distinct|
|
226
|
-
dg_is_grid = Marty::DataGrid === dg
|
227
|
-
dg_is_os = dg.is_a?(OpenStruct)
|
228
|
-
raise "bad DataGrid #{dg}" unless dg_is_grid || dg_is_os
|
229
|
-
raise "non-hash arg #{h}" unless Hash === h
|
230
|
-
|
231
|
-
dgh = dg_is_os ? dg.to_h.stringify_keys :
|
232
|
-
dg.attributes.slice('id', 'group_id', 'created_dt', 'metadata')
|
233
|
-
res = plv_lookup_grid_distinct(h, dgh, false, distinct)
|
234
|
-
res['result']
|
235
|
-
end
|
236
|
-
|
237
219
|
cached_delorean_fn :lookup_grid_h, sig: 4 do |pt, dgn, h, distinct|
|
238
220
|
dgh = lookup_h(pt, dgn)
|
239
221
|
raise "#{dgn} grid not found" unless dgh
|
@@ -246,7 +228,7 @@ class Marty::DataGrid < Marty::Base
|
|
246
228
|
# FIXME: using cached_delorean_fn just for the caching -- this is
|
247
229
|
# not expected to be called from Delorean.
|
248
230
|
cached_delorean_fn :find_class_instance, sig: 3 do |pt, klass, v|
|
249
|
-
if Marty::
|
231
|
+
if ::Marty::EnumHelper.pg_enum?(klass: klass)
|
250
232
|
klass.find_by_name(v)
|
251
233
|
else
|
252
234
|
# FIXME: very hacky -- hard-coded name
|
@@ -254,8 +236,9 @@ class Marty::DataGrid < Marty::Base
|
|
254
236
|
end
|
255
237
|
end
|
256
238
|
|
257
|
-
def self.lookup_grid_distinct_entry_h(
|
258
|
-
|
239
|
+
def self.lookup_grid_distinct_entry_h(
|
240
|
+
pt, h, dgh, visited = nil, follow = true,
|
241
|
+
return_grid_data = false, distinct = true)
|
259
242
|
|
260
243
|
# Perform grid lookup, if result is another data_grid, and follow is true,
|
261
244
|
# then perform lookup on the resulting grid. Allows grids to be nested
|
@@ -278,18 +261,18 @@ class Marty::DataGrid < Marty::Base
|
|
278
261
|
res = vhash['result']
|
279
262
|
|
280
263
|
v = case
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
return vhash.merge('result' => v) unless
|
292
|
-
|
264
|
+
when ::Marty::EnumHelper.pg_enum?(klass: res)
|
265
|
+
c_data_type.find_by_name(res)
|
266
|
+
when Marty::DataGrid == c_data_type
|
267
|
+
follow ?
|
268
|
+
Marty::DataGrid.lookup_h(pt, res) :
|
269
|
+
Marty::DataGrid.lookup(pt, res)
|
270
|
+
else
|
271
|
+
Marty::DataConversion.find_row(c_data_type, { 'name' => res }, pt)
|
272
|
+
end
|
273
|
+
|
274
|
+
return vhash.merge('result' => v) unless
|
275
|
+
Marty::DataGrid == c_data_type && follow
|
293
276
|
|
294
277
|
visited ||= []
|
295
278
|
|
@@ -298,8 +281,8 @@ class Marty::DataGrid < Marty::Base
|
|
298
281
|
raise "#{self.class} recursion loop detected -- #{visited}" if
|
299
282
|
visited.member?(v['group_id'])
|
300
283
|
|
301
|
-
lookup_grid_distinct_entry_h(
|
302
|
-
|
284
|
+
lookup_grid_distinct_entry_h(
|
285
|
+
pt, h, v, visited, follow, return_grid_data, distinct)
|
303
286
|
end
|
304
287
|
|
305
288
|
def dir_infos(dir)
|
data/app/models/marty/pg_enum.rb
CHANGED
data/lib/marty/data_change.rb
CHANGED
@@ -114,7 +114,9 @@ class Marty::DataChange
|
|
114
114
|
|
115
115
|
delorean_fn :do_pg_enum_export, sig: 1 do |k|
|
116
116
|
klass = k.constantize
|
117
|
-
next
|
117
|
+
next klass.get_all if ::Marty::EnumHelper.pg_enum?(klass: klass)
|
118
|
+
|
119
|
+
[]
|
118
120
|
end
|
119
121
|
|
120
122
|
delorean_fn :export_changes, sig: 3 do |t0, t1, class_name|
|
data/lib/marty/monkey.rb
CHANGED
@@ -11,7 +11,7 @@ class Delorean::BaseModule::BaseClass
|
|
11
11
|
|
12
12
|
def _get_attr(obj, attr, _e)
|
13
13
|
if (Marty::Enum === obj ||
|
14
|
-
Marty::
|
14
|
+
::Marty::EnumHelper.pg_enum?(klass: obj)) && !obj.respond_to?(attr)
|
15
15
|
obj[attr]
|
16
16
|
else
|
17
17
|
old_get_attr(obj, attr, _e)
|
data/lib/marty/version.rb
CHANGED
data/make-dummy.mk
CHANGED
@@ -17,7 +17,7 @@ dummy-app-bash:
|
|
17
17
|
docker-compose --file=docker-compose.dummy.yml run --rm app bash
|
18
18
|
|
19
19
|
dummy-app-console:
|
20
|
-
docker-compose --file=docker-compose.dummy.yml run --rm app bin/rails c
|
20
|
+
docker-compose --file=docker-compose.dummy.yml run --rm app /bin/bash -c "cd spec/dummy && bin/rails c"
|
21
21
|
|
22
22
|
dummy-app-initialise-docker:
|
23
23
|
touch .bash_history.docker
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arman Bostani
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2019-03-
|
17
|
+
date: 2019-03-29 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: pg
|
@@ -300,6 +300,7 @@ files:
|
|
300
300
|
- app/controllers/marty/report_controller.rb
|
301
301
|
- app/controllers/marty/rpc_controller.rb
|
302
302
|
- app/helpers/marty/application_helper.rb
|
303
|
+
- app/helpers/marty/enum_helper.rb
|
303
304
|
- app/helpers/marty/script_set.rb
|
304
305
|
- app/models/marty/api_auth.rb
|
305
306
|
- app/models/marty/api_config.rb
|