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