marty 4.0.0.rc2 → 5.1.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 +5 -5
- data/.gitignore +7 -0
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +3 -16
- data/.ssh-docker/.keep +0 -0
- data/Dockerfile.dummy +3 -0
- data/Gemfile +19 -15
- data/app/components/marty/base_rule_view.rb +104 -10
- data/app/components/marty/base_rule_view/client/base_rule_view.js +24 -0
- data/app/components/marty/data_grid_user_view.rb +39 -0
- data/app/components/marty/data_grid_view.rb +68 -18
- data/app/components/marty/extras/layout.rb +1 -1
- data/app/components/marty/grid.rb +1 -1
- data/app/components/marty/grid/client/grid.js +29 -13
- data/app/components/marty/import_view.rb +3 -3
- data/app/components/marty/main_auth_app.rb +11 -1
- data/app/components/marty/report_form.rb +6 -6
- data/app/components/marty/script_form.rb +5 -5
- data/app/components/marty/script_tester.rb +2 -2
- data/app/components/marty/user_view.rb +3 -9
- data/app/models/marty/base_rule.rb +92 -32
- data/app/models/marty/data_grid.rb +92 -22
- data/app/models/marty/event.rb +2 -2
- data/app/models/marty/promise.rb +4 -4
- data/app/models/marty/role_type.rb +14 -1
- data/app/services/marty/data_grid_view/save_grid.rb +2 -2
- data/app/services/marty/promises/delorean/create.rb +2 -2
- data/app/services/marty/promises/ruby/create.rb +2 -2
- data/config/locales/en.yml +11 -2
- data/db/migrate/108_add_data_grid_perms.rb +16 -0
- data/db/migrate/508_add_not_to_data_grids_tables.rb +18 -0
- data/db/migrate/509_update_dg_plpgsql_v1_fns.rb +13 -0
- data/db/sql/query_grid_dir_v1.sql +16 -2
- data/docker-compose.dummy.yml +1 -0
- data/lib/marty/content_handler.rb +2 -2
- data/lib/marty/data_change.rb +1 -1
- data/lib/marty/data_conversion.rb +3 -4
- data/lib/marty/data_importer.rb +4 -4
- data/lib/marty/mcfly_model.rb +7 -10
- data/lib/marty/migrations.rb +1 -1
- data/lib/marty/monkey.rb +2 -2
- data/lib/marty/promise_job.rb +5 -5
- data/lib/marty/promise_proxy.rb +2 -2
- data/lib/marty/promise_ruby_job.rb +4 -4
- data/lib/marty/version.rb +1 -1
- data/make-app.mk +1 -1
- data/marty.gemspec +13 -18
- data/other/marty/diagnostic/aws/ec2_instance.rb +17 -2
- data/other/marty/diagnostic/aws/error.rb +8 -0
- data/other/marty/diagnostic/database.rb +2 -2
- data/other/marty/diagnostic/delayed_job_version.rb +0 -1
- data/spec/dummy/app/components/gemini/my_rule_view.rb +32 -6
- data/spec/dummy/app/models/gemini/fannie_bup.rb +13 -20
- data/spec/dummy/app/models/gemini/my_rule.rb +4 -0
- data/spec/dummy/app/models/gemini/xyz_rule.rb +3 -1
- data/spec/dummy/config/application.rb +1 -0
- data/spec/dummy/config/initializers/secret_token.rb +1 -1
- data/spec/dummy/db/migrate/20190702115241_add_simple_guards_options_to_rules.rb +37 -0
- data/spec/features/data_grid_spec.rb +109 -47
- data/spec/features/reporting_spec.rb +4 -4
- data/spec/features/rule_spec.rb +62 -31
- data/spec/features/scripting_spec.rb +3 -3
- data/spec/features/user_view_spec.rb +17 -8
- data/spec/fixtures/csv/rule/MyRule.csv +4 -1
- data/spec/lib/data_importer_spec.rb +8 -8
- data/spec/lib/mcfly_model_spec.rb +6 -6
- data/spec/models/data_grid_spec.rb +139 -7
- data/spec/models/rule_spec.rb +116 -9
- data/spec/spec_helper.rb +2 -2
- data/spec/support/netzke.rb +4 -3
- metadata +55 -54
- data/Gemfile.lock +0 -289
data/spec/models/rule_spec.rb
CHANGED
@@ -11,9 +11,11 @@ module Marty::RuleSpec
|
|
11
11
|
'grid_sum', 'c1', 'sr2']
|
12
12
|
@ruleopts_xyz = ['bvlength', 'bv']
|
13
13
|
end
|
14
|
+
|
14
15
|
after(:all) do
|
15
16
|
restore_clean_db(@save_file)
|
16
17
|
end
|
18
|
+
|
17
19
|
before(:each) do
|
18
20
|
dt = DateTime.parse('2017-1-1')
|
19
21
|
p = File.expand_path('../../fixtures/csv/rule', __FILE__)
|
@@ -23,6 +25,7 @@ module Marty::RuleSpec
|
|
23
25
|
end
|
24
26
|
Marty::Tag.do_create('2017-01-01', 'tag')
|
25
27
|
end
|
28
|
+
|
26
29
|
context 'validation' do
|
27
30
|
subject do
|
28
31
|
guards = (@g_array ? { 'g_array' => @g_array } : {}) +
|
@@ -37,6 +40,7 @@ module Marty::RuleSpec
|
|
37
40
|
start_dt: @start_dt || '2013-1-1',
|
38
41
|
end_dt: @end_dt,
|
39
42
|
simple_guards: guards,
|
43
|
+
simple_guards_options: @simple_guards_options || {},
|
40
44
|
computed_guards: @computed_guards || {},
|
41
45
|
grids: @grids || {},
|
42
46
|
results: @results || {}
|
@@ -121,18 +125,85 @@ module Marty::RuleSpec
|
|
121
125
|
exp = /Grids - Bad grid name 'xyz' for 'grid1'/
|
122
126
|
expect { subject }.to raise_error(exp)
|
123
127
|
end
|
128
|
+
|
129
|
+
describe 'simple_guards_options' do
|
130
|
+
before do
|
131
|
+
@rule_type = 'SimpleRule'
|
132
|
+
end
|
133
|
+
|
134
|
+
let(:simple_guards_options) do
|
135
|
+
{
|
136
|
+
'g_array' => { 'not' => true },
|
137
|
+
'g_string' => { 'not' => true },
|
138
|
+
'g_range' => { 'not' => true },
|
139
|
+
'g_integer' => { 'not' => true },
|
140
|
+
'g_bool' => { 'not' => true }
|
141
|
+
}
|
142
|
+
end
|
143
|
+
|
144
|
+
it 'detects wrong simple guards options value' do
|
145
|
+
@simple_guards_options = simple_guards_options.merge(
|
146
|
+
'g_array' => { 'not' => 'wrong_type' }
|
147
|
+
)
|
148
|
+
|
149
|
+
exp = Regexp.new(
|
150
|
+
"Error in rule 'testrule' 'simple_guard_options' ->"\
|
151
|
+
" 'g_array' -> 'not' field must be a boolean"
|
152
|
+
)
|
153
|
+
|
154
|
+
expect { subject }.to raise_error(exp)
|
155
|
+
end
|
156
|
+
|
157
|
+
it 'detects wrong simple guards options field' do
|
158
|
+
@simple_guards_options = {
|
159
|
+
'g_integer_wrong' => { 'not' => true }
|
160
|
+
}
|
161
|
+
|
162
|
+
exp = Regexp.new(
|
163
|
+
"Error in rule 'testrule' 'simple_guard_options' -> "\
|
164
|
+
"'g_integer_wrong' -> 'not'.Guard 'g_integer_wrong' doesn't exist."
|
165
|
+
)
|
166
|
+
|
167
|
+
expect { subject }.to raise_error(exp)
|
168
|
+
end
|
169
|
+
|
170
|
+
it 'detects wrong simple guards options field2' do
|
171
|
+
@simple_guards_options = {
|
172
|
+
'g_nullbool' => { 'not' => true }
|
173
|
+
}
|
174
|
+
|
175
|
+
exp = Regexp.new(
|
176
|
+
"Error in rule 'testrule' 'simple_guard_options' ->"\
|
177
|
+
" 'g_nullbool' -> 'not'. True value is not allowed"
|
178
|
+
)
|
179
|
+
expect { subject }.to raise_error(exp)
|
180
|
+
end
|
181
|
+
|
182
|
+
it 'saves' do
|
183
|
+
@simple_guards_options = simple_guards_options
|
184
|
+
expect { subject }.to_not raise_error
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
124
188
|
it 'sets guard defaults correctly' do
|
125
189
|
vals = Gemini::MyRule.all.map do |r|
|
126
190
|
[r.name, r.simple_guards['g_has_default']]
|
127
191
|
end
|
128
|
-
expect(vals.sort).to eq(
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
192
|
+
expect(vals.sort).to eq(
|
193
|
+
[
|
194
|
+
['NotRule1', 'foo'],
|
195
|
+
['NotRule2', 'foo'],
|
196
|
+
['NotRule3', 'foo'],
|
197
|
+
['Rule1', 'different'],
|
198
|
+
['Rule2', 'string default'],
|
199
|
+
['Rule2a', 'string default'],
|
200
|
+
['Rule2b', 'string default'],
|
201
|
+
['Rule2c', 'string default'],
|
202
|
+
['Rule3', 'string default'],
|
203
|
+
['Rule4', 'string default'],
|
204
|
+
['Rule5', 'foo']
|
205
|
+
].sort
|
206
|
+
)
|
136
207
|
end
|
137
208
|
end
|
138
209
|
context 'validation (xyz type)' do
|
@@ -176,6 +247,7 @@ module Marty::RuleSpec
|
|
176
247
|
expect(rule.compute_xyz('infinity', true)).to be false
|
177
248
|
expect(rule.compute_xyz('infinity', false)).to be true
|
178
249
|
end
|
250
|
+
|
179
251
|
it 'no error' do
|
180
252
|
@rule_type = 'XRule'
|
181
253
|
@results = { 'x' => '1' }
|
@@ -250,7 +322,7 @@ module Marty::RuleSpec
|
|
250
322
|
expect(lookup.first.name).to eq('Rule2c')
|
251
323
|
lookup = Gemini::MyRule.get_matches('infinity',
|
252
324
|
{ 'rule_type' => 'SimpleRule' }, {})
|
253
|
-
expect(lookup.to_a.count).to eq(
|
325
|
+
expect(lookup.to_a.count).to eq(8)
|
254
326
|
lookup = Gemini::MyRule.get_matches('infinity',
|
255
327
|
{ 'rule_dt' => '2017-3-1 02:00:00' },
|
256
328
|
{})
|
@@ -273,8 +345,43 @@ module Marty::RuleSpec
|
|
273
345
|
'g_nbool_def' => true)
|
274
346
|
expect(lookup.to_a.count).to eq(1)
|
275
347
|
expect(lookup.pluck(:name).first).to eq('Rule1')
|
348
|
+
|
349
|
+
#####
|
350
|
+
# NOT lookups
|
351
|
+
#####
|
352
|
+
lookup = Gemini::MyRule.get_matches('infinity', {},
|
353
|
+
'g_bool_def' => true,
|
354
|
+
'g_integer' => 3757)
|
355
|
+
expect(lookup.to_a.count).to eq(2)
|
356
|
+
expect(lookup.pluck(:name).sort).to eq(['NotRule1', 'Rule5'])
|
357
|
+
|
358
|
+
lookup = Gemini::MyRule.get_matches('infinity', {},
|
359
|
+
'g_bool_def' => true,
|
360
|
+
'g_integer' => 100500)
|
361
|
+
expect(lookup.to_a.count).to eq(2)
|
362
|
+
expect(lookup.pluck(:name).sort).to eq(['NotRule2', 'NotRule3'])
|
363
|
+
|
364
|
+
lookup = Gemini::MyRule.get_matches('infinity', {},
|
365
|
+
'g_string' => 'wrong',
|
366
|
+
'g_range' => 20
|
367
|
+
)
|
368
|
+
expect(lookup.to_a.count).to eq(2)
|
369
|
+
expect(lookup.pluck(:name).sort).to eq(['NotRule1', 'NotRule2'])
|
370
|
+
|
371
|
+
lookup = Gemini::MyRule.get_matches('infinity', {},
|
372
|
+
'g_string' => 'wrong',
|
373
|
+
)
|
374
|
+
expect(lookup.to_a.count).to eq(3)
|
375
|
+
expect(lookup.pluck(:name).sort).to eq(['NotRule1', 'NotRule2', 'NotRule3'])
|
376
|
+
|
377
|
+
lookup = Gemini::MyRule.get_matches('infinity', {},
|
378
|
+
'g_range' => 250,
|
379
|
+
'g_string' => 'wrong')
|
380
|
+
expect(lookup.to_a.count).to eq(1)
|
381
|
+
expect(lookup.pluck(:name).sort).to eq(['NotRule3'])
|
276
382
|
end
|
277
383
|
end
|
384
|
+
|
278
385
|
context 'rule compute' do
|
279
386
|
let(:complex) do
|
280
387
|
Gemini::MyRule.get_matches('infinity',
|
data/spec/spec_helper.rb
CHANGED
@@ -11,8 +11,8 @@ require "#{support}/shared_connection"
|
|
11
11
|
|
12
12
|
Dummy::Application.initialize! unless Dummy::Application.initialized?
|
13
13
|
|
14
|
-
ActiveRecord::
|
15
|
-
ActiveRecord::
|
14
|
+
ActiveRecord::Migration.migrate File.expand_path('../../db/migrate/', __FILE__)
|
15
|
+
ActiveRecord::Migration.migrate File.expand_path('../dummy/db/migrate/', __FILE__)
|
16
16
|
|
17
17
|
require 'rspec/retry'
|
18
18
|
|
data/spec/support/netzke.rb
CHANGED
@@ -18,7 +18,7 @@ module Marty; module RSpec; module Netzke
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def log_in(username, password)
|
21
|
-
wait_for_ready(
|
21
|
+
wait_for_ready(25)
|
22
22
|
|
23
23
|
begin
|
24
24
|
if first("a[data-qtip='Current user']")
|
@@ -52,8 +52,9 @@ module Marty; module RSpec; module Netzke
|
|
52
52
|
def press button_name, index_of = 0
|
53
53
|
wait_for_element do
|
54
54
|
begin
|
55
|
-
cmp = first("a[data-qtip='#{button_name}']")
|
56
|
-
cmp ||=
|
55
|
+
cmp = first("a[data-qtip='#{button_name}']") rescue nil
|
56
|
+
cmp ||= all(:xpath, './/a', text: button_name.to_s).
|
57
|
+
detect { |c| c.text == button_name.to_s } rescue nil
|
57
58
|
cmp ||= find(:btn, button_name, match: :first)
|
58
59
|
cmp.click
|
59
60
|
true
|
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:
|
4
|
+
version: 5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arman Bostani
|
@@ -14,80 +14,80 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2019-
|
17
|
+
date: 2019-07-26 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
|
-
name:
|
20
|
+
name: aws-sigv4
|
21
21
|
requirement: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
|
-
- - "
|
23
|
+
- - ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '0
|
25
|
+
version: '0'
|
26
26
|
type: :runtime
|
27
27
|
prerelease: false
|
28
28
|
version_requirements: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
|
-
- - "
|
30
|
+
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '0
|
32
|
+
version: '0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: axlsx
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - '='
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 3.0.0pre
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - '='
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 3.0.0pre
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: coderay
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: '0'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
60
|
+
version: '0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
62
|
+
name: daemons
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - "
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
67
|
+
version: '0'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - "
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
74
|
+
version: '0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
76
|
+
name: delayed_cron_job
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- - "
|
79
|
+
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0
|
81
|
+
version: '0'
|
82
82
|
type: :runtime
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- - "
|
86
|
+
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0
|
88
|
+
version: '0'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
|
-
name:
|
90
|
+
name: delayed_job_active_record
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
93
|
- - ">="
|
@@ -101,7 +101,7 @@ dependencies:
|
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
|
-
name:
|
104
|
+
name: delorean_lang
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - ">="
|
@@ -115,21 +115,21 @@ dependencies:
|
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
118
|
+
name: json-schema
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
|
-
- - "
|
121
|
+
- - ">="
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: 0
|
123
|
+
version: '0'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- - "
|
128
|
+
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: 0
|
130
|
+
version: '0'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
|
-
name:
|
132
|
+
name: mcfly
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - ">="
|
@@ -143,7 +143,7 @@ dependencies:
|
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
|
-
name:
|
146
|
+
name: net-ldap
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
149
|
- - ">="
|
@@ -157,41 +157,35 @@ dependencies:
|
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: '0'
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
|
-
name:
|
160
|
+
name: netzke
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
|
-
- - "~>"
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '1.0'
|
166
163
|
- - ">="
|
167
164
|
- !ruby/object:Gem::Version
|
168
|
-
version:
|
165
|
+
version: '0'
|
169
166
|
type: :runtime
|
170
167
|
prerelease: false
|
171
168
|
version_requirements: !ruby/object:Gem::Requirement
|
172
169
|
requirements:
|
173
|
-
- - "~>"
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version: '1.0'
|
176
170
|
- - ">="
|
177
171
|
- !ruby/object:Gem::Version
|
178
|
-
version:
|
172
|
+
version: '0'
|
179
173
|
- !ruby/object:Gem::Dependency
|
180
|
-
name:
|
174
|
+
name: pg
|
181
175
|
requirement: !ruby/object:Gem::Requirement
|
182
176
|
requirements:
|
183
|
-
- - "
|
177
|
+
- - ">="
|
184
178
|
- !ruby/object:Gem::Version
|
185
|
-
version:
|
179
|
+
version: '0'
|
186
180
|
type: :runtime
|
187
181
|
prerelease: false
|
188
182
|
version_requirements: !ruby/object:Gem::Requirement
|
189
183
|
requirements:
|
190
|
-
- - "
|
184
|
+
- - ">="
|
191
185
|
- !ruby/object:Gem::Version
|
192
|
-
version:
|
186
|
+
version: '0'
|
193
187
|
- !ruby/object:Gem::Dependency
|
194
|
-
name:
|
188
|
+
name: rubyzip
|
195
189
|
requirement: !ruby/object:Gem::Requirement
|
196
190
|
requirements:
|
197
191
|
- - ">="
|
@@ -205,7 +199,7 @@ dependencies:
|
|
205
199
|
- !ruby/object:Gem::Version
|
206
200
|
version: '0'
|
207
201
|
- !ruby/object:Gem::Dependency
|
208
|
-
name:
|
202
|
+
name: zip-zip
|
209
203
|
requirement: !ruby/object:Gem::Requirement
|
210
204
|
requirements:
|
211
205
|
- - ">="
|
@@ -230,10 +224,10 @@ files:
|
|
230
224
|
- ".rspec"
|
231
225
|
- ".rubocop.yml"
|
232
226
|
- ".rubocop_todo.yml"
|
227
|
+
- ".ssh-docker/.keep"
|
233
228
|
- ".travis.yml"
|
234
229
|
- Dockerfile.dummy
|
235
230
|
- Gemfile
|
236
|
-
- Gemfile.lock
|
237
231
|
- INDEPENDENCE_ISSUES.md
|
238
232
|
- MIT-LICENSE
|
239
233
|
- Makefile
|
@@ -255,7 +249,9 @@ files:
|
|
255
249
|
- app/components/marty/auth_app.rb
|
256
250
|
- app/components/marty/auth_app/client/auth_app.js
|
257
251
|
- app/components/marty/base_rule_view.rb
|
252
|
+
- app/components/marty/base_rule_view/client/base_rule_view.js
|
258
253
|
- app/components/marty/config_view.rb
|
254
|
+
- app/components/marty/data_grid_user_view.rb
|
259
255
|
- app/components/marty/data_grid_view.rb
|
260
256
|
- app/components/marty/data_grid_view/client/data_grid_edit.js
|
261
257
|
- app/components/marty/delorean_rule_view.rb
|
@@ -394,6 +390,7 @@ files:
|
|
394
390
|
- db/migrate/105_create_marty_grid_index_booleans.rb
|
395
391
|
- db/migrate/106_make_grid_indexes_nullable.rb
|
396
392
|
- db/migrate/107_add_data_grid_constraint.rb
|
393
|
+
- db/migrate/108_add_data_grid_perms.rb
|
397
394
|
- db/migrate/200_create_marty_event_operation_enum.rb
|
398
395
|
- db/migrate/201_create_marty_events.rb
|
399
396
|
- db/migrate/202_add_completion_status_to_event.rb
|
@@ -412,6 +409,8 @@ files:
|
|
412
409
|
- db/migrate/505_add_cron_to_delayed_jobs.rb
|
413
410
|
- db/migrate/506_create_marty_delayed_job_schedules.rb
|
414
411
|
- db/migrate/507_migrate_marty_roles_to_enum.rb
|
412
|
+
- db/migrate/508_add_not_to_data_grids_tables.rb
|
413
|
+
- db/migrate/509_update_dg_plpgsql_v1_fns.rb
|
415
414
|
- db/seeds.rb
|
416
415
|
- db/sql/lookup_grid_distinct_v1.sql
|
417
416
|
- db/sql/query_grid_dir_v1.sql
|
@@ -462,6 +461,7 @@ files:
|
|
462
461
|
- marty.gemspec
|
463
462
|
- other/marty/api/base.rb
|
464
463
|
- other/marty/diagnostic/aws/ec2_instance.rb
|
464
|
+
- other/marty/diagnostic/aws/error.rb
|
465
465
|
- other/marty/diagnostic/base.rb
|
466
466
|
- other/marty/diagnostic/collection.rb
|
467
467
|
- other/marty/diagnostic/connections.rb
|
@@ -560,6 +560,7 @@ files:
|
|
560
560
|
- spec/dummy/db/migrate/20171221095312_create_gemini_my_rules.rb
|
561
561
|
- spec/dummy/db/migrate/20171221095359_create_gemini_xyz_rules.rb
|
562
562
|
- spec/dummy/db/migrate/20171222150100_add_rule_indices.rb
|
563
|
+
- spec/dummy/db/migrate/20190702115241_add_simple_guards_options_to_rules.rb
|
563
564
|
- spec/dummy/db/seeds.rb
|
564
565
|
- spec/dummy/delorean/base_code.dl
|
565
566
|
- spec/dummy/delorean/blame_report.dl
|
@@ -1688,12 +1689,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1688
1689
|
version: '0'
|
1689
1690
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1690
1691
|
requirements:
|
1691
|
-
- - "
|
1692
|
+
- - ">="
|
1692
1693
|
- !ruby/object:Gem::Version
|
1693
|
-
version:
|
1694
|
+
version: '0'
|
1694
1695
|
requirements: []
|
1695
1696
|
rubyforge_project:
|
1696
|
-
rubygems_version: 2.
|
1697
|
+
rubygems_version: 2.6.14
|
1697
1698
|
signing_key:
|
1698
1699
|
specification_version: 4
|
1699
1700
|
summary: A framework for working with versioned data
|