marty 3.0.1 → 3.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 +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +1 -0
- data/.rubocop_todo.yml +2 -15
- data/Gemfile +21 -15
- data/app/components/marty/data_grid_view.rb +4 -4
- data/app/components/marty/extras/layout.rb +1 -1
- data/app/components/marty/grid.rb +1 -1
- data/app/components/marty/import_view.rb +3 -3
- 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/models/marty/data_grid.rb +3 -4
- data/app/models/marty/event.rb +2 -2
- data/app/models/marty/promise.rb +4 -4
- data/app/services/marty/promises/delorean/create.rb +2 -2
- data/app/services/marty/promises/ruby/create.rb +2 -2
- data/lib/marty/content_handler.rb +2 -2
- data/lib/marty/data_change.rb +1 -1
- data/lib/marty/data_conversion.rb +2 -3
- data/lib/marty/data_importer.rb +4 -4
- data/lib/marty/mcfly_model.rb +0 -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/marty.gemspec +13 -18
- data/other/marty/diagnostic/database.rb +2 -2
- data/other/marty/diagnostic/delayed_job_version.rb +0 -1
- data/spec/dummy/config/initializers/secret_token.rb +1 -1
- data/spec/features/data_grid_spec.rb +0 -1
- data/spec/features/reporting_spec.rb +4 -4
- data/spec/features/scripting_spec.rb +3 -3
- data/spec/features/user_view_spec.rb +9 -9
- data/spec/lib/data_importer_spec.rb +8 -8
- data/spec/spec_helper.rb +2 -2
- data/spec/support/netzke.rb +3 -3
- metadata +44 -51
- data/Gemfile.lock +0 -289
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: acc8f6db12c19c31f0689c9490ac58111dd10bb74f464a3dc911148646a71d0f
|
|
4
|
+
data.tar.gz: cc6ba69d0f2cdad1d64b81fc500b595ba3752ab357528efe28a9e78fa53c526f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 440d3cac5ac80a0664ccea8250c890fe9899dbc45f3850bf9e8ddf2f5f9c5025414ea7a0ff6e5a44aecde547c15bfbaba8786c6a855eaf8f84a289e2b037d721
|
|
7
|
+
data.tar.gz: 86e9790e0d676b7a05244332199c70b8176648abce3496a05d7652ce1b5493872c192d0dbf1753f8dcedc63f641d77d74810ce8e85cc4535f374026f566da2bf
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
|
@@ -48,7 +48,7 @@ Layout/ExtraSpacing:
|
|
|
48
48
|
# Cop supports --auto-correct.
|
|
49
49
|
# Configuration parameters: EnforcedStyle, IndentationWidth.
|
|
50
50
|
# SupportedStyles: special_inside_parentheses, consistent, align_braces
|
|
51
|
-
Layout/
|
|
51
|
+
Layout/IndentFirstHashElement:
|
|
52
52
|
Exclude:
|
|
53
53
|
- 'app/components/marty/extras/layout.rb'
|
|
54
54
|
- 'lib/marty/data_change.rb'
|
|
@@ -508,7 +508,7 @@ Performance/TimesMap:
|
|
|
508
508
|
|
|
509
509
|
# Offense count: 1
|
|
510
510
|
# Cop supports --auto-correct.
|
|
511
|
-
|
|
511
|
+
Style/UnneededSort:
|
|
512
512
|
Exclude:
|
|
513
513
|
- 'app/models/marty/event.rb'
|
|
514
514
|
|
|
@@ -934,19 +934,6 @@ Style/Next:
|
|
|
934
934
|
Style/NumericLiterals:
|
|
935
935
|
MinDigits: 15
|
|
936
936
|
|
|
937
|
-
# Offense count: 10
|
|
938
|
-
# Cop supports --auto-correct.
|
|
939
|
-
# Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
|
|
940
|
-
# SupportedStyles: predicate, comparison
|
|
941
|
-
Style/NumericPredicate:
|
|
942
|
-
Exclude:
|
|
943
|
-
- 'spec/**/*'
|
|
944
|
-
- 'app/components/marty/main_auth_app.rb'
|
|
945
|
-
- 'lib/marty/content_handler.rb'
|
|
946
|
-
- 'lib/marty/data_change.rb'
|
|
947
|
-
- 'lib/marty/data_importer.rb'
|
|
948
|
-
- 'lib/marty/xl.rb'
|
|
949
|
-
|
|
950
937
|
# Offense count: 42
|
|
951
938
|
# Cop supports --auto-correct.
|
|
952
939
|
Style/ParallelAssignment:
|
data/Gemfile
CHANGED
|
@@ -5,33 +5,39 @@ source 'http://rubygems.org'
|
|
|
5
5
|
# development dependencies will be added by default to the :development group.
|
|
6
6
|
gemspec
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
gem '
|
|
10
|
-
gem '
|
|
11
|
-
gem '
|
|
12
|
-
gem '
|
|
8
|
+
group :default do
|
|
9
|
+
gem 'daemons'
|
|
10
|
+
gem 'delayed_job_active_record'
|
|
11
|
+
gem 'pg'
|
|
12
|
+
gem 'rails'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
group :default, :cmit do
|
|
16
|
+
gem 'delorean_lang'
|
|
17
|
+
gem 'marty_rspec'
|
|
18
|
+
gem 'mcfly'
|
|
19
|
+
# gem 'delorean_lang', path: File.expand_path('../../delorean', __FILE__)
|
|
20
|
+
# gem 'marty_rspec', path: File.expand_path('../../marty_rspec', __FILE__)
|
|
21
|
+
# gem 'mcfly', path: File.expand_path('../../mcfly', __FILE__)
|
|
22
|
+
end
|
|
13
23
|
|
|
14
24
|
group :development, :test do
|
|
15
|
-
gem 'capybara'
|
|
25
|
+
gem 'capybara'
|
|
16
26
|
gem 'connection_pool'
|
|
17
27
|
gem 'database_cleaner'
|
|
28
|
+
gem 'fuubar', require: false
|
|
29
|
+
gem 'netzke', '6.5.0.0'
|
|
18
30
|
gem 'pry-byebug'
|
|
19
31
|
gem 'pry-rails'
|
|
32
|
+
gem 'puma'
|
|
20
33
|
gem 'rails-controller-testing'
|
|
21
34
|
gem 'rspec-instafail', require: false
|
|
22
35
|
gem 'rspec-rails'
|
|
23
36
|
gem 'rspec-retry'
|
|
24
37
|
gem 'rubocop', require: false
|
|
38
|
+
gem 'rubocop-performance', require: false
|
|
39
|
+
gem 'rubocop-rails', require: false
|
|
25
40
|
gem 'selenium-webdriver'
|
|
26
41
|
gem 'timecop'
|
|
27
42
|
gem 'webdrivers'
|
|
28
|
-
|
|
29
|
-
# gem 'mcfly', path: File.expand_path('../../mcfly', __FILE__)
|
|
30
|
-
gem 'mcfly'
|
|
31
|
-
gem 'netzke', '6.5.0.0'
|
|
32
|
-
|
|
33
|
-
# gem 'delorean_lang', path: File.expand_path('../../delorean', __FILE__)
|
|
34
|
-
|
|
35
|
-
# gem 'marty_rspec', path: File.expand_path('../../marty_rspec', __FILE__)
|
|
36
|
-
gem 'marty_rspec'
|
|
37
43
|
end
|
|
@@ -134,8 +134,8 @@ module Marty; class DataGridView < McflyGridPanel
|
|
|
134
134
|
set_perms(dg, data)
|
|
135
135
|
client.success = true
|
|
136
136
|
client.netzke_on_submit_success
|
|
137
|
-
rescue StandardError =>
|
|
138
|
-
client.netzke_notify(
|
|
137
|
+
rescue StandardError => e
|
|
138
|
+
client.netzke_notify(e.to_s)
|
|
139
139
|
end
|
|
140
140
|
end
|
|
141
141
|
|
|
@@ -149,8 +149,8 @@ module Marty; class DataGridView < McflyGridPanel
|
|
|
149
149
|
set_perms(dg, data)
|
|
150
150
|
client.success = true
|
|
151
151
|
client.netzke_on_submit_success
|
|
152
|
-
rescue StandardError =>
|
|
153
|
-
client.netzke_notify(
|
|
152
|
+
rescue StandardError => e
|
|
153
|
+
client.netzke_notify(e.to_s)
|
|
154
154
|
end
|
|
155
155
|
end
|
|
156
156
|
|
|
@@ -115,7 +115,7 @@ module Layout
|
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
def get_sorter(col)
|
|
118
|
-
lambda { |rel, dir| rel.order("#{col}::text #{dir
|
|
118
|
+
lambda { |rel, dir| rel.order(Arel.sql("#{col}::text #{dir}")) }
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
######################################################################
|
|
@@ -84,10 +84,10 @@ class Marty::ImportView < Marty::Form
|
|
|
84
84
|
result << messages if messages
|
|
85
85
|
|
|
86
86
|
client.set_result result.join('<br/>')
|
|
87
|
-
rescue Marty::DataImporter::Error =>
|
|
87
|
+
rescue Marty::DataImporter::Error => e
|
|
88
88
|
result = [
|
|
89
|
-
"Import failed on line(s): #{
|
|
90
|
-
"Error: #{
|
|
89
|
+
"Import failed on line(s): #{e.lines.join(', ')}",
|
|
90
|
+
"Error: #{e.to_s}",
|
|
91
91
|
]
|
|
92
92
|
|
|
93
93
|
client.set_result '<font color="red">' + result.join('<br/>') + '</font>'
|
|
@@ -61,10 +61,10 @@ class Marty::ReportForm < Marty::Form
|
|
|
61
61
|
|
|
62
62
|
begin
|
|
63
63
|
engine.evaluate(node, 'result', d_params)
|
|
64
|
-
rescue StandardError =>
|
|
65
|
-
Marty::Util.logger.error "run_eval failed: #{
|
|
64
|
+
rescue StandardError => e
|
|
65
|
+
Marty::Util.logger.error "run_eval failed: #{e.backtrace}"
|
|
66
66
|
|
|
67
|
-
res = Delorean::Engine.grok_runtime_exception(
|
|
67
|
+
res = Delorean::Engine.grok_runtime_exception(e)
|
|
68
68
|
res['backtrace'] =
|
|
69
69
|
res['backtrace'].map { |m, line, fn| "#{m}:#{line} #{fn}" }.join('\n')
|
|
70
70
|
res
|
|
@@ -156,15 +156,15 @@ class Marty::ReportForm < Marty::Form
|
|
|
156
156
|
raise 'bad form items' unless items.is_a?(Array)
|
|
157
157
|
raise 'bad format' unless
|
|
158
158
|
Marty::ContentHandler::GEN_FORMATS.member?(format)
|
|
159
|
-
rescue StandardError =>
|
|
159
|
+
rescue StandardError => e
|
|
160
160
|
c.title = 'ERROR'
|
|
161
161
|
c.items =
|
|
162
162
|
[
|
|
163
163
|
{
|
|
164
|
-
field_label: '
|
|
164
|
+
field_label: 'exception',
|
|
165
165
|
xtype: :displayfield,
|
|
166
166
|
name: 'displayfield1',
|
|
167
|
-
value: "<span style=\"color:red;\">#{
|
|
167
|
+
value: "<span style=\"color:red;\">#{e}</span>"
|
|
168
168
|
},
|
|
169
169
|
]
|
|
170
170
|
return
|
|
@@ -83,10 +83,10 @@ class Marty::ScriptForm < Marty::Form
|
|
|
83
83
|
begin
|
|
84
84
|
dev = Marty::Tag.find_by_name('DEV')
|
|
85
85
|
Marty::ScriptSet.new(dev).parse_check(script.name, data['body'])
|
|
86
|
-
rescue Delorean::ParseError =>
|
|
87
|
-
client.netzke_notify
|
|
86
|
+
rescue Delorean::ParseError => e
|
|
87
|
+
client.netzke_notify e.message
|
|
88
88
|
client.netzke_apply_form_errors({})
|
|
89
|
-
client.set_line_error(
|
|
89
|
+
client.set_line_error(e.line)
|
|
90
90
|
return
|
|
91
91
|
end
|
|
92
92
|
|
|
@@ -120,8 +120,8 @@ class Marty::ScriptForm < Marty::Form
|
|
|
120
120
|
'PrettyScript',
|
|
121
121
|
rep_params)
|
|
122
122
|
client.get_report(path)
|
|
123
|
-
rescue StandardError =>
|
|
124
|
-
return client.netzke_notify "ERROR: #{
|
|
123
|
+
rescue StandardError => e
|
|
124
|
+
return client.netzke_notify "ERROR: #{e}"
|
|
125
125
|
end
|
|
126
126
|
end
|
|
127
127
|
|
|
@@ -75,8 +75,8 @@ class Marty::ScriptTester < Marty::Form
|
|
|
75
75
|
client.set_result result.join('<br/>')
|
|
76
76
|
rescue SystemStackError
|
|
77
77
|
return client.netzke_notify 'System Stack Error'
|
|
78
|
-
rescue StandardError =>
|
|
79
|
-
res = Delorean::Engine.grok_runtime_exception(
|
|
78
|
+
rescue StandardError => e
|
|
79
|
+
res = Delorean::Engine.grok_runtime_exception(e)
|
|
80
80
|
|
|
81
81
|
result = ["Error: #{res['error']}", 'Backtrace:'] +
|
|
82
82
|
res['backtrace'].map { |m, line, fn| "#{m}:#{line} #{fn}" }
|
|
@@ -254,7 +254,6 @@ class Marty::DataGrid < Marty::Base
|
|
|
254
254
|
# private method used to cache lookup_grid_distinct_entry_h result
|
|
255
255
|
delorean_fn :lookup_grid_h_priv,
|
|
256
256
|
private: true, cache: true, sig: 4 do |pt, dgh, h, distinct|
|
|
257
|
-
|
|
258
257
|
lookup_grid_distinct_entry_h(
|
|
259
258
|
pt, h, dgh, nil, true, false, distinct)['result']
|
|
260
259
|
end
|
|
@@ -271,9 +270,9 @@ class Marty::DataGrid < Marty::Base
|
|
|
271
270
|
end
|
|
272
271
|
|
|
273
272
|
def self.lookup_grid_distinct_entry_h(
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
273
|
+
pt, h, dgh, visited = nil, follow = true,
|
|
274
|
+
return_grid_data = false, distinct = true
|
|
275
|
+
)
|
|
277
276
|
|
|
278
277
|
# Perform grid lookup, if result is another data_grid, and follow is true,
|
|
279
278
|
# then perform lookup on the resulting grid. Allows grids to be nested
|
data/app/models/marty/event.rb
CHANGED
|
@@ -311,7 +311,7 @@ SQL
|
|
|
311
311
|
|
|
312
312
|
def self.cleanup
|
|
313
313
|
where('start_dt < ?', Time.zone.now - 48.hours).delete_all
|
|
314
|
-
rescue StandardError =>
|
|
315
|
-
Marty::Util.logger.error("event GC error: #{
|
|
314
|
+
rescue StandardError => e
|
|
315
|
+
Marty::Util.logger.error("event GC error: #{e}")
|
|
316
316
|
end
|
|
317
317
|
end
|
data/app/models/marty/promise.rb
CHANGED
|
@@ -132,9 +132,9 @@ class Marty::Promise < Marty::Base
|
|
|
132
132
|
# log "OFF0 #{Process.pid} #{last}"
|
|
133
133
|
begin
|
|
134
134
|
work_off_job(job)
|
|
135
|
-
rescue StandardError =>
|
|
135
|
+
rescue StandardError => e
|
|
136
136
|
# log "OFFERR #{exc}"
|
|
137
|
-
error = exception_to_result(
|
|
137
|
+
error = exception_to_result(e)
|
|
138
138
|
last.set_result(error)
|
|
139
139
|
end
|
|
140
140
|
# log "OFF1 #{Process.pid} #{last}"
|
|
@@ -215,8 +215,8 @@ class Marty::Promise < Marty::Base
|
|
|
215
215
|
'start_dt < ? AND parent_id IS NULL',
|
|
216
216
|
DateTime.now - (all ? 0.hours : 4.hours)
|
|
217
217
|
).destroy_all
|
|
218
|
-
rescue StandardError =>
|
|
219
|
-
Marty::Util.logger.error("promise GC error: #{
|
|
218
|
+
rescue StandardError => e
|
|
219
|
+
Marty::Util.logger.error("promise GC error: #{e}")
|
|
220
220
|
end
|
|
221
221
|
|
|
222
222
|
def exception_to_result(promise:, exception:)
|
|
@@ -31,9 +31,9 @@ module Marty
|
|
|
31
31
|
)
|
|
32
32
|
|
|
33
33
|
job = Delayed::Job.enqueue(promise_job)
|
|
34
|
-
rescue StandardError =>
|
|
34
|
+
rescue StandardError => e
|
|
35
35
|
# log "CALLERR #{exc}"
|
|
36
|
-
res = ::Delorean::Engine.grok_runtime_exception(
|
|
36
|
+
res = ::Delorean::Engine.grok_runtime_exception(e)
|
|
37
37
|
promise.set_start
|
|
38
38
|
promise.set_result(res)
|
|
39
39
|
# log "CALLERRSET #{res}"
|
|
@@ -34,9 +34,9 @@ module Marty::ContentHandler
|
|
|
34
34
|
else
|
|
35
35
|
res, format = { error: "Unknown format: #{format}" }.to_json, 'json'
|
|
36
36
|
end
|
|
37
|
-
rescue StandardError =>
|
|
37
|
+
rescue StandardError => e
|
|
38
38
|
res, format =
|
|
39
|
-
{ error: "Failed conversion #{format}: #{
|
|
39
|
+
{ error: "Failed conversion #{format}: #{e}" }.to_json, 'json'
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
type, disposition = GEN_FORMATS[format]
|
data/lib/marty/data_change.rb
CHANGED
|
@@ -58,13 +58,13 @@ class Marty::DataConversion
|
|
|
58
58
|
begin
|
|
59
59
|
v =~ FLOAT_PAT ? EXCEL_START_DATE + v.to_f :
|
|
60
60
|
Mcfly.is_infinity(v) ? 'infinity' : v.to_date
|
|
61
|
-
rescue StandardError =>
|
|
61
|
+
rescue StandardError => e
|
|
62
62
|
raise "date conversion failed for #{v.inspect}}"
|
|
63
63
|
end
|
|
64
64
|
when :datetime
|
|
65
65
|
begin
|
|
66
66
|
Mcfly.is_infinity(v) ? 'infinity' : v.to_datetime
|
|
67
|
-
rescue StandardError =>
|
|
67
|
+
rescue StandardError => e
|
|
68
68
|
raise "datetime conversion failed for #{v.inspect}}"
|
|
69
69
|
end
|
|
70
70
|
when :numrange, :int4range, :int8range
|
|
@@ -98,7 +98,6 @@ class Marty::DataConversion
|
|
|
98
98
|
|
|
99
99
|
@@associations[klass] ||= klass.reflect_on_all_associations.
|
|
100
100
|
each_with_object({}) do |assoc, h|
|
|
101
|
-
|
|
102
101
|
h[assoc.name.to_s] = {
|
|
103
102
|
assoc_keys: assoc_keys(assoc.klass),
|
|
104
103
|
assoc_class: assoc.klass,
|
data/lib/marty/data_importer.rb
CHANGED
|
@@ -77,9 +77,9 @@ module Marty
|
|
|
77
77
|
|
|
78
78
|
Marty::DataConversion.create_or_update(klass, row, dt)
|
|
79
79
|
end
|
|
80
|
-
rescue StandardError =>
|
|
80
|
+
rescue StandardError => e
|
|
81
81
|
# to find problems with the importer, comment out the rescue block
|
|
82
|
-
raise Error.new(
|
|
82
|
+
raise Error.new(e.to_s, [eline])
|
|
83
83
|
end
|
|
84
84
|
|
|
85
85
|
ids = {}
|
|
@@ -96,8 +96,8 @@ module Marty
|
|
|
96
96
|
# Validate affected rows if necessary
|
|
97
97
|
klass.send(validation_function.to_sym, ids.keys) if
|
|
98
98
|
validation_function
|
|
99
|
-
rescue StandardError =>
|
|
100
|
-
raise Error.new(
|
|
99
|
+
rescue StandardError => e
|
|
100
|
+
raise Error.new(e.to_s, [])
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
remainder_ids = cleaner_ids - ids.keys
|
data/lib/marty/mcfly_model.rb
CHANGED
|
@@ -86,7 +86,6 @@ module Mcfly::Model
|
|
|
86
86
|
|
|
87
87
|
base_mcfly_lookup(name, options + { sig: attrs.length + 1,
|
|
88
88
|
mode: mode }) do |_t, *attr_list|
|
|
89
|
-
|
|
90
89
|
attr_list_ids = attr_list.each_with_index.map do |_x, i|
|
|
91
90
|
assoc.member?(attrs[i]) ?
|
|
92
91
|
(attr_list[i] && attr_list[i].id) : attr_list[i]
|
data/lib/marty/monkey.rb
CHANGED
|
@@ -54,8 +54,8 @@ class Delorean::BaseModule::NodeCall
|
|
|
54
54
|
begin
|
|
55
55
|
# make sure params is serialzable before starting a Job
|
|
56
56
|
JSON.dump(params)
|
|
57
|
-
rescue StandardError =>
|
|
58
|
-
raise "non-serializable parameters: #{params} #{
|
|
57
|
+
rescue StandardError => e
|
|
58
|
+
raise "non-serializable parameters: #{params} #{e}"
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
Marty::Promises::Delorean::Create.call(
|
data/lib/marty/promise_job.rb
CHANGED
|
@@ -41,9 +41,9 @@ class Marty::PromiseJob < Struct.new(:promise,
|
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
# log "DONE #{Process.pid} #{promise.id} #{Time.now.to_f} #{res}"
|
|
44
|
-
rescue StandardError =>
|
|
45
|
-
res = Delorean::Engine.grok_runtime_exception(
|
|
46
|
-
# log "ERR- #{Process.pid} #{promise.id} #{Time.now.to_f} #{
|
|
44
|
+
rescue StandardError => e
|
|
45
|
+
res = Delorean::Engine.grok_runtime_exception(e)
|
|
46
|
+
# log "ERR- #{Process.pid} #{promise.id} #{Time.now.to_f} #{e}"
|
|
47
47
|
end
|
|
48
48
|
promise.set_result(res)
|
|
49
49
|
process_hook(res)
|
|
@@ -53,8 +53,8 @@ class Marty::PromiseJob < Struct.new(:promise,
|
|
|
53
53
|
return unless hook
|
|
54
54
|
|
|
55
55
|
hook.run(params: params, result: res)
|
|
56
|
-
rescue StandardError =>
|
|
57
|
-
Marty::Util.logger.error "promise hook failed: #{
|
|
56
|
+
rescue StandardError => e
|
|
57
|
+
Marty::Util.logger.error "promise hook failed: #{e}"
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
def max_attempts
|
data/lib/marty/promise_proxy.rb
CHANGED
|
@@ -55,8 +55,8 @@ class Marty::PromiseProxy < BasicObject
|
|
|
55
55
|
begin
|
|
56
56
|
@result = @promise.wait_for_result(@timeout)
|
|
57
57
|
@result = @result[@attr] if @attr && !@result['error']
|
|
58
|
-
rescue ::Exception =>
|
|
59
|
-
@result = ::Delorean::Engine.grok_runtime_exception(
|
|
58
|
+
rescue ::Exception => e
|
|
59
|
+
@result = ::Delorean::Engine.grok_runtime_exception(e)
|
|
60
60
|
end
|
|
61
61
|
end
|
|
62
62
|
end
|
|
@@ -25,8 +25,8 @@ class Marty::PromiseRubyJob < Struct.new(:promise,
|
|
|
25
25
|
|
|
26
26
|
mod = module_name.constantize
|
|
27
27
|
res = { 'result' => mod.send(method_name, *method_args) }
|
|
28
|
-
rescue StandardError =>
|
|
29
|
-
res = ::Marty::Promise.exception_to_result(promise: promise, exception:
|
|
28
|
+
rescue StandardError => e
|
|
29
|
+
res = ::Marty::Promise.exception_to_result(promise: promise, exception: e)
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
promise.set_result(res)
|
|
@@ -37,8 +37,8 @@ class Marty::PromiseRubyJob < Struct.new(:promise,
|
|
|
37
37
|
return unless hook
|
|
38
38
|
|
|
39
39
|
hook.run(params: method_args, result: res)
|
|
40
|
-
rescue StandardError =>
|
|
41
|
-
Marty::Util.logger.error "promise hook failed: #{
|
|
40
|
+
rescue StandardError => e
|
|
41
|
+
Marty::Util.logger.error "promise hook failed: #{e}"
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def max_attempts
|
data/lib/marty/version.rb
CHANGED
data/marty.gemspec
CHANGED
|
@@ -26,26 +26,21 @@ Gem::Specification.new do |s|
|
|
|
26
26
|
'Marty is a framework for viewing and reporting on versioned data.'
|
|
27
27
|
s.files = `git ls-files`.split($\)
|
|
28
28
|
s.licenses = ['MIT']
|
|
29
|
-
|
|
30
|
-
s.add_dependency '
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
# used for signing aws ec2 requests
|
|
30
|
+
s.add_dependency 'aws-sigv4'
|
|
31
|
+
# Only pinning this because there's no other way around it for Axlsx.
|
|
32
|
+
# DO NOT unpin this.
|
|
34
33
|
s.add_dependency 'axlsx', '3.0.0pre'
|
|
35
|
-
|
|
36
|
-
s.add_dependency 'delorean_lang', '~> 1.0'
|
|
37
|
-
s.add_dependency 'mcfly', '~> 0.0.20'
|
|
38
|
-
|
|
39
34
|
s.add_dependency 'coderay'
|
|
40
|
-
s.add_dependency '
|
|
41
|
-
s.add_dependency 'net-ldap', '~> 0.16.1'
|
|
42
|
-
s.add_dependency 'rubyzip'
|
|
43
|
-
s.add_dependency 'sqlite3'
|
|
44
|
-
|
|
45
|
-
# used for signing aws ec2 requests
|
|
46
|
-
s.add_dependency 'aws-sigv4', '~> 1.0', '>= 1.0.2'
|
|
47
|
-
|
|
48
|
-
s.add_dependency 'daemons', '~> 1.3.1'
|
|
35
|
+
s.add_dependency 'daemons'
|
|
49
36
|
s.add_dependency 'delayed_cron_job'
|
|
50
37
|
s.add_dependency 'delayed_job_active_record'
|
|
38
|
+
s.add_dependency 'delorean_lang'
|
|
39
|
+
s.add_dependency 'json-schema'
|
|
40
|
+
s.add_dependency 'mcfly'
|
|
41
|
+
s.add_dependency 'net-ldap'
|
|
42
|
+
s.add_dependency 'netzke'
|
|
43
|
+
s.add_dependency 'pg'
|
|
44
|
+
s.add_dependency 'rubyzip'
|
|
45
|
+
s.add_dependency 'zip-zip'
|
|
51
46
|
end
|
|
@@ -20,9 +20,9 @@ module Marty::Diagnostic::Database
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def self.db_schema
|
|
23
|
-
current = ActiveRecord::
|
|
23
|
+
current = ActiveRecord::Migration.current_version
|
|
24
24
|
raise "Migration is needed.\nCurrent Version: #{current}" if
|
|
25
|
-
ActiveRecord::
|
|
25
|
+
ActiveRecord::Base.connection.migration_context.needs_migration?
|
|
26
26
|
|
|
27
27
|
current.to_s
|
|
28
28
|
end
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
# If you change this key, all old signed cookies will become invalid!
|
|
5
5
|
# Make sure the secret is at least 30 characters and all random,
|
|
6
6
|
# no regular words or you'll be exposed to dictionary attacks.
|
|
7
|
-
Dummy::Application.config.
|
|
7
|
+
Dummy::Application.config.secret_key_base = 'a087c113817a728e1552d63682abbd7f19fd7481ea3e24154889af53ab56d114f8901f63909a5e8310260c7187f6fd203cddc8743f6486fead0a4043cd7976c2'
|
|
@@ -206,8 +206,8 @@ DELOREAN
|
|
|
206
206
|
end
|
|
207
207
|
|
|
208
208
|
wait_for_element do
|
|
209
|
-
expect(page).to have_content(
|
|
210
|
-
|
|
209
|
+
expect(page).to have_content("XYZ1,XYZ2,XYZ3,XYZ4\n1,2,3,4\n2,4,6,8\n" +
|
|
210
|
+
"3,6,9,12\n4,8,12,16")
|
|
211
211
|
end
|
|
212
212
|
end
|
|
213
213
|
|
|
@@ -263,8 +263,8 @@ DELOREAN
|
|
|
263
263
|
url = generate_rep_url(format: 'txt') + URI.encode('&disposition=inline')
|
|
264
264
|
visit url
|
|
265
265
|
wait_for_element do
|
|
266
|
-
expect(page).to have_content(
|
|
267
|
-
|
|
266
|
+
expect(page).to have_content("XYZ1,XYZ2,XYZ3,XYZ4\n1,2,3,4\n2,4,6,8\n" +
|
|
267
|
+
"3,6,9,12\n4,8,12,16")
|
|
268
268
|
end
|
|
269
269
|
end
|
|
270
270
|
|
|
@@ -221,7 +221,7 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
|
221
221
|
|
|
222
222
|
and_by 'form displays correct body' do
|
|
223
223
|
wait_for_ajax
|
|
224
|
-
expect(page).to have_content
|
|
224
|
+
expect(page).to have_content "1\n#5\n2\n#1\n3\n#2\n4\n#3"
|
|
225
225
|
end
|
|
226
226
|
|
|
227
227
|
and_by 'select different tag' do
|
|
@@ -235,7 +235,7 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
|
235
235
|
|
|
236
236
|
and_by 'form displays updated body' do
|
|
237
237
|
wait_for_ajax
|
|
238
|
-
expect(page).to have_content
|
|
238
|
+
expect(page).to have_content "1\n#5\n2\n#1"
|
|
239
239
|
end
|
|
240
240
|
end
|
|
241
241
|
|
|
@@ -288,7 +288,7 @@ feature 'under Applications menu, Scripting workflows', js: true do
|
|
|
288
288
|
tag_grid.select_row(2)
|
|
289
289
|
wait_for_ajax
|
|
290
290
|
script_grid.select_row(5)
|
|
291
|
-
expect(page).to have_content
|
|
291
|
+
expect(page).to have_content "1\n#123\n2\n#456"
|
|
292
292
|
expect(tag_grid.get_row_vals(2)).to netzke_include(comment: 'ABCD')
|
|
293
293
|
end
|
|
294
294
|
end
|
|
@@ -8,7 +8,7 @@ feature 'under System menu, User Management worflows', js: true do
|
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def go_to_user_view_backdoor
|
|
11
|
-
sys_btn = first(:btn, 'System')
|
|
11
|
+
sys_btn = first(:btn, 'System') rescue nil
|
|
12
12
|
if sys_btn
|
|
13
13
|
sys_btn.click
|
|
14
14
|
expect(page).not_to have_content 'User Management'
|
|
@@ -147,10 +147,10 @@ feature 'under System menu, User Management worflows', js: true do
|
|
|
147
147
|
user_view = netzke_find('user_view')
|
|
148
148
|
by 'check buttons' do
|
|
149
149
|
user_view.select_row(1)
|
|
150
|
-
err = /Unable to find
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
err = /Unable to find btn/
|
|
151
|
+
['New User', 'Edit', 'Delete'].each do |btn_name|
|
|
152
|
+
expect { find(:btn, btn_name) }.to raise_error(err)
|
|
153
|
+
end
|
|
154
154
|
end
|
|
155
155
|
end
|
|
156
156
|
|
|
@@ -161,10 +161,10 @@ feature 'under System menu, User Management worflows', js: true do
|
|
|
161
161
|
user_view = netzke_find('user_view')
|
|
162
162
|
by 'check buttons' do
|
|
163
163
|
user_view.select_row(1)
|
|
164
|
-
err = /Unable to find
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
err = /Unable to find btn/
|
|
165
|
+
['New User', 'Edit', 'Delete'].each do |btn_name|
|
|
166
|
+
expect { find(:btn, btn_name) }.to raise_error(err)
|
|
167
|
+
end
|
|
168
168
|
end
|
|
169
169
|
end
|
|
170
170
|
end
|
|
@@ -349,8 +349,8 @@ describe DataImporter do
|
|
|
349
349
|
|
|
350
350
|
begin
|
|
351
351
|
Marty::DataImporter.do_import_summary(Gemini::FannieBup, fannie_bup4)
|
|
352
|
-
rescue Marty::DataImporter::Error =>
|
|
353
|
-
|
|
352
|
+
rescue Marty::DataImporter::Error => e
|
|
353
|
+
e.lines.should == [0]
|
|
354
354
|
else
|
|
355
355
|
raise 'should have had an exception'
|
|
356
356
|
end
|
|
@@ -390,9 +390,9 @@ describe DataImporter do
|
|
|
390
390
|
|
|
391
391
|
begin
|
|
392
392
|
Marty::DataImporter.do_import_summary(Gemini::FannieBup, fannie_bup5)
|
|
393
|
-
rescue Marty::DataImporter::Error =>
|
|
394
|
-
|
|
395
|
-
|
|
393
|
+
rescue Marty::DataImporter::Error => e
|
|
394
|
+
e.lines.should == [1]
|
|
395
|
+
e.message.should =~ /Conv Fixed XX/
|
|
396
396
|
else
|
|
397
397
|
raise 'should have had an exception'
|
|
398
398
|
end
|
|
@@ -409,9 +409,9 @@ describe DataImporter do
|
|
|
409
409
|
begin
|
|
410
410
|
res = Marty::DataImporter.
|
|
411
411
|
do_import_summary(Gemini::FannieBup, fannie_bup6)
|
|
412
|
-
rescue Marty::DataImporter::Error =>
|
|
413
|
-
|
|
414
|
-
|
|
412
|
+
rescue Marty::DataImporter::Error => e
|
|
413
|
+
e.lines.should == [1]
|
|
414
|
+
e.message.should =~ /bad float/
|
|
415
415
|
else
|
|
416
416
|
raise 'should have had an exception'
|
|
417
417
|
end
|
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,9 +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}']")
|
|
55
|
+
cmp = first("a[data-qtip='#{button_name}']") rescue nil
|
|
56
56
|
cmp ||= all(:xpath, './/a', text: button_name.to_s).
|
|
57
|
-
detect { |c| c.text == button_name.to_s }
|
|
57
|
+
detect { |c| c.text == button_name.to_s } rescue nil
|
|
58
58
|
cmp ||= find(:btn, button_name, match: :first)
|
|
59
59
|
cmp.click
|
|
60
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: 3.0
|
|
4
|
+
version: 3.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-07-
|
|
17
|
+
date: 2019-07-12 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
|
- - ">="
|
|
@@ -234,7 +228,6 @@ files:
|
|
|
234
228
|
- ".travis.yml"
|
|
235
229
|
- Dockerfile.dummy
|
|
236
230
|
- Gemfile
|
|
237
|
-
- Gemfile.lock
|
|
238
231
|
- INDEPENDENCE_ISSUES.md
|
|
239
232
|
- MIT-LICENSE
|
|
240
233
|
- Makefile
|
data/Gemfile.lock
DELETED
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
marty (3.0.0)
|
|
5
|
-
aws-sigv4 (~> 1.0, >= 1.0.2)
|
|
6
|
-
axlsx (= 3.0.0pre)
|
|
7
|
-
coderay
|
|
8
|
-
daemons (~> 1.3.1)
|
|
9
|
-
delayed_cron_job
|
|
10
|
-
delayed_job_active_record
|
|
11
|
-
delorean_lang (~> 1.0)
|
|
12
|
-
json-schema
|
|
13
|
-
mcfly (~> 0.0.20)
|
|
14
|
-
net-ldap (~> 0.16.1)
|
|
15
|
-
netzke (= 6.5.0.0)
|
|
16
|
-
pg (~> 0.21)
|
|
17
|
-
rubyzip
|
|
18
|
-
sqlite3
|
|
19
|
-
|
|
20
|
-
GEM
|
|
21
|
-
remote: http://rubygems.org/
|
|
22
|
-
specs:
|
|
23
|
-
actioncable (5.1.6.1)
|
|
24
|
-
actionpack (= 5.1.6.1)
|
|
25
|
-
nio4r (~> 2.0)
|
|
26
|
-
websocket-driver (~> 0.6.1)
|
|
27
|
-
actionmailer (5.1.6.1)
|
|
28
|
-
actionpack (= 5.1.6.1)
|
|
29
|
-
actionview (= 5.1.6.1)
|
|
30
|
-
activejob (= 5.1.6.1)
|
|
31
|
-
mail (~> 2.5, >= 2.5.4)
|
|
32
|
-
rails-dom-testing (~> 2.0)
|
|
33
|
-
actionpack (5.1.6.1)
|
|
34
|
-
actionview (= 5.1.6.1)
|
|
35
|
-
activesupport (= 5.1.6.1)
|
|
36
|
-
rack (~> 2.0)
|
|
37
|
-
rack-test (>= 0.6.3)
|
|
38
|
-
rails-dom-testing (~> 2.0)
|
|
39
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
|
40
|
-
actionview (5.1.6.1)
|
|
41
|
-
activesupport (= 5.1.6.1)
|
|
42
|
-
builder (~> 3.1)
|
|
43
|
-
erubi (~> 1.4)
|
|
44
|
-
rails-dom-testing (~> 2.0)
|
|
45
|
-
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
|
46
|
-
activejob (5.1.6.1)
|
|
47
|
-
activesupport (= 5.1.6.1)
|
|
48
|
-
globalid (>= 0.3.6)
|
|
49
|
-
activemodel (5.1.6.1)
|
|
50
|
-
activesupport (= 5.1.6.1)
|
|
51
|
-
activerecord (5.1.6.1)
|
|
52
|
-
activemodel (= 5.1.6.1)
|
|
53
|
-
activesupport (= 5.1.6.1)
|
|
54
|
-
arel (~> 8.0)
|
|
55
|
-
activesupport (5.1.6.1)
|
|
56
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
57
|
-
i18n (>= 0.7, < 2)
|
|
58
|
-
minitest (~> 5.1)
|
|
59
|
-
tzinfo (~> 1.1)
|
|
60
|
-
addressable (2.6.0)
|
|
61
|
-
public_suffix (>= 2.0.2, < 4.0)
|
|
62
|
-
arel (8.0.0)
|
|
63
|
-
ast (2.4.0)
|
|
64
|
-
aws-eventstream (1.0.3)
|
|
65
|
-
aws-sigv4 (1.1.0)
|
|
66
|
-
aws-eventstream (~> 1.0, >= 1.0.2)
|
|
67
|
-
axlsx (3.0.0.pre)
|
|
68
|
-
htmlentities (~> 4.3, >= 4.3.4)
|
|
69
|
-
mimemagic (~> 0.3)
|
|
70
|
-
nokogiri (~> 1.8, >= 1.8.2)
|
|
71
|
-
rubyzip (~> 1.2, >= 1.2.1)
|
|
72
|
-
builder (3.2.3)
|
|
73
|
-
byebug (11.0.0)
|
|
74
|
-
capybara (2.18.0)
|
|
75
|
-
addressable
|
|
76
|
-
mini_mime (>= 0.1.3)
|
|
77
|
-
nokogiri (>= 1.3.3)
|
|
78
|
-
rack (>= 1.0.0)
|
|
79
|
-
rack-test (>= 0.5.4)
|
|
80
|
-
xpath (>= 2.0, < 4.0)
|
|
81
|
-
childprocess (0.9.0)
|
|
82
|
-
ffi (~> 1.0, >= 1.0.11)
|
|
83
|
-
coderay (1.1.2)
|
|
84
|
-
coffee-script (2.4.1)
|
|
85
|
-
coffee-script-source
|
|
86
|
-
execjs
|
|
87
|
-
coffee-script-source (1.12.2)
|
|
88
|
-
concurrent-ruby (1.1.5)
|
|
89
|
-
connection_pool (2.2.2)
|
|
90
|
-
crass (1.0.4)
|
|
91
|
-
daemons (1.3.1)
|
|
92
|
-
database_cleaner (1.7.0)
|
|
93
|
-
delayed_cron_job (0.7.2)
|
|
94
|
-
delayed_job (>= 4.1)
|
|
95
|
-
delayed_job (4.1.5)
|
|
96
|
-
activesupport (>= 3.0, < 5.3)
|
|
97
|
-
delayed_job_active_record (4.1.3)
|
|
98
|
-
activerecord (>= 3.0, < 5.3)
|
|
99
|
-
delayed_job (>= 3.0, < 5)
|
|
100
|
-
delorean_lang (1.0.0)
|
|
101
|
-
activerecord
|
|
102
|
-
treetop
|
|
103
|
-
diff-lcs (1.3)
|
|
104
|
-
erubi (1.8.0)
|
|
105
|
-
execjs (2.7.0)
|
|
106
|
-
ffi (1.10.0)
|
|
107
|
-
globalid (0.4.2)
|
|
108
|
-
activesupport (>= 4.2.0)
|
|
109
|
-
htmlentities (4.3.4)
|
|
110
|
-
i18n (1.6.0)
|
|
111
|
-
concurrent-ruby (~> 1.0)
|
|
112
|
-
jaro_winkler (1.5.2)
|
|
113
|
-
json-schema (2.8.1)
|
|
114
|
-
addressable (>= 2.4)
|
|
115
|
-
loofah (2.2.3)
|
|
116
|
-
crass (~> 1.0.2)
|
|
117
|
-
nokogiri (>= 1.5.9)
|
|
118
|
-
mail (2.7.1)
|
|
119
|
-
mini_mime (>= 0.1.1)
|
|
120
|
-
marty_rspec (0.1)
|
|
121
|
-
rspec-by
|
|
122
|
-
mcfly (0.0.22)
|
|
123
|
-
delorean_lang
|
|
124
|
-
pg (~> 0.17)
|
|
125
|
-
method_source (0.9.2)
|
|
126
|
-
mime-types (2.99.3)
|
|
127
|
-
mimemagic (0.3.3)
|
|
128
|
-
mini_mime (1.0.1)
|
|
129
|
-
mini_portile2 (2.4.0)
|
|
130
|
-
minitest (5.11.3)
|
|
131
|
-
net-ldap (0.16.1)
|
|
132
|
-
netzke (6.5.0.0)
|
|
133
|
-
netzke-basepack (= 6.5.0.0)
|
|
134
|
-
netzke-core (= 6.5.0.0)
|
|
135
|
-
netzke-testing (= 6.5.0.0)
|
|
136
|
-
netzke-basepack (6.5.0.0)
|
|
137
|
-
netzke-core (6.5.0.0)
|
|
138
|
-
execjs
|
|
139
|
-
mime-types (< 3)
|
|
140
|
-
uglifier
|
|
141
|
-
netzke-testing (6.5.0.0)
|
|
142
|
-
coffee-script
|
|
143
|
-
nio4r (2.3.1)
|
|
144
|
-
nokogiri (1.10.1)
|
|
145
|
-
mini_portile2 (~> 2.4.0)
|
|
146
|
-
parallel (1.13.0)
|
|
147
|
-
parser (2.6.0.0)
|
|
148
|
-
ast (~> 2.4.0)
|
|
149
|
-
pg (0.21.0)
|
|
150
|
-
polyglot (0.3.5)
|
|
151
|
-
powerpack (0.1.2)
|
|
152
|
-
pry (0.12.2)
|
|
153
|
-
coderay (~> 1.1.0)
|
|
154
|
-
method_source (~> 0.9.0)
|
|
155
|
-
pry-byebug (3.7.0)
|
|
156
|
-
byebug (~> 11.0)
|
|
157
|
-
pry (~> 0.10)
|
|
158
|
-
pry-rails (0.3.9)
|
|
159
|
-
pry (>= 0.10.4)
|
|
160
|
-
public_suffix (3.0.3)
|
|
161
|
-
rack (2.0.6)
|
|
162
|
-
rack-test (1.1.0)
|
|
163
|
-
rack (>= 1.0, < 3)
|
|
164
|
-
rails (5.1.6.1)
|
|
165
|
-
actioncable (= 5.1.6.1)
|
|
166
|
-
actionmailer (= 5.1.6.1)
|
|
167
|
-
actionpack (= 5.1.6.1)
|
|
168
|
-
actionview (= 5.1.6.1)
|
|
169
|
-
activejob (= 5.1.6.1)
|
|
170
|
-
activemodel (= 5.1.6.1)
|
|
171
|
-
activerecord (= 5.1.6.1)
|
|
172
|
-
activesupport (= 5.1.6.1)
|
|
173
|
-
bundler (>= 1.3.0)
|
|
174
|
-
railties (= 5.1.6.1)
|
|
175
|
-
sprockets-rails (>= 2.0.0)
|
|
176
|
-
rails-controller-testing (1.0.4)
|
|
177
|
-
actionpack (>= 5.0.1.x)
|
|
178
|
-
actionview (>= 5.0.1.x)
|
|
179
|
-
activesupport (>= 5.0.1.x)
|
|
180
|
-
rails-dom-testing (2.0.3)
|
|
181
|
-
activesupport (>= 4.2.0)
|
|
182
|
-
nokogiri (>= 1.6)
|
|
183
|
-
rails-html-sanitizer (1.0.4)
|
|
184
|
-
loofah (~> 2.2, >= 2.2.2)
|
|
185
|
-
railties (5.1.6.1)
|
|
186
|
-
actionpack (= 5.1.6.1)
|
|
187
|
-
activesupport (= 5.1.6.1)
|
|
188
|
-
method_source
|
|
189
|
-
rake (>= 0.8.7)
|
|
190
|
-
thor (>= 0.18.1, < 2.0)
|
|
191
|
-
rainbow (3.0.0)
|
|
192
|
-
rake (12.3.2)
|
|
193
|
-
rspec (3.8.0)
|
|
194
|
-
rspec-core (~> 3.8.0)
|
|
195
|
-
rspec-expectations (~> 3.8.0)
|
|
196
|
-
rspec-mocks (~> 3.8.0)
|
|
197
|
-
rspec-by (0.0.7)
|
|
198
|
-
rspec-core (>= 3)
|
|
199
|
-
rspec-core (3.8.0)
|
|
200
|
-
rspec-support (~> 3.8.0)
|
|
201
|
-
rspec-expectations (3.8.2)
|
|
202
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
203
|
-
rspec-support (~> 3.8.0)
|
|
204
|
-
rspec-instafail (1.0.0)
|
|
205
|
-
rspec
|
|
206
|
-
rspec-mocks (3.8.0)
|
|
207
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
|
208
|
-
rspec-support (~> 3.8.0)
|
|
209
|
-
rspec-rails (3.8.2)
|
|
210
|
-
actionpack (>= 3.0)
|
|
211
|
-
activesupport (>= 3.0)
|
|
212
|
-
railties (>= 3.0)
|
|
213
|
-
rspec-core (~> 3.8.0)
|
|
214
|
-
rspec-expectations (~> 3.8.0)
|
|
215
|
-
rspec-mocks (~> 3.8.0)
|
|
216
|
-
rspec-support (~> 3.8.0)
|
|
217
|
-
rspec-retry (0.6.1)
|
|
218
|
-
rspec-core (> 3.3)
|
|
219
|
-
rspec-support (3.8.0)
|
|
220
|
-
rubocop (0.64.0)
|
|
221
|
-
jaro_winkler (~> 1.5.1)
|
|
222
|
-
parallel (~> 1.10)
|
|
223
|
-
parser (>= 2.5, != 2.5.1.1)
|
|
224
|
-
powerpack (~> 0.1)
|
|
225
|
-
rainbow (>= 2.2.2, < 4.0)
|
|
226
|
-
ruby-progressbar (~> 1.7)
|
|
227
|
-
unicode-display_width (~> 1.4.0)
|
|
228
|
-
ruby-progressbar (1.10.0)
|
|
229
|
-
rubyzip (1.2.2)
|
|
230
|
-
selenium-webdriver (3.141.0)
|
|
231
|
-
childprocess (~> 0.5)
|
|
232
|
-
rubyzip (~> 1.2, >= 1.2.2)
|
|
233
|
-
sprockets (3.7.2)
|
|
234
|
-
concurrent-ruby (~> 1.0)
|
|
235
|
-
rack (> 1, < 3)
|
|
236
|
-
sprockets-rails (3.2.1)
|
|
237
|
-
actionpack (>= 4.0)
|
|
238
|
-
activesupport (>= 4.0)
|
|
239
|
-
sprockets (>= 3.0.0)
|
|
240
|
-
sqlite3 (1.4.0)
|
|
241
|
-
thor (0.20.3)
|
|
242
|
-
thread_safe (0.3.6)
|
|
243
|
-
timecop (0.9.1)
|
|
244
|
-
treetop (1.6.10)
|
|
245
|
-
polyglot (~> 0.3)
|
|
246
|
-
tzinfo (1.2.5)
|
|
247
|
-
thread_safe (~> 0.1)
|
|
248
|
-
uglifier (4.1.20)
|
|
249
|
-
execjs (>= 0.3.0, < 3)
|
|
250
|
-
unicode-display_width (1.4.1)
|
|
251
|
-
webdrivers (3.9.4)
|
|
252
|
-
nokogiri (~> 1.6)
|
|
253
|
-
rubyzip (~> 1.0)
|
|
254
|
-
selenium-webdriver (~> 3.0)
|
|
255
|
-
websocket-driver (0.6.5)
|
|
256
|
-
websocket-extensions (>= 0.1.0)
|
|
257
|
-
websocket-extensions (0.1.3)
|
|
258
|
-
xpath (3.2.0)
|
|
259
|
-
nokogiri (~> 1.8)
|
|
260
|
-
|
|
261
|
-
PLATFORMS
|
|
262
|
-
ruby
|
|
263
|
-
|
|
264
|
-
DEPENDENCIES
|
|
265
|
-
capybara (~> 2.18.0)
|
|
266
|
-
connection_pool
|
|
267
|
-
daemons
|
|
268
|
-
database_cleaner
|
|
269
|
-
delayed_job_active_record
|
|
270
|
-
marty!
|
|
271
|
-
marty_rspec
|
|
272
|
-
mcfly
|
|
273
|
-
netzke (= 6.5.0.0)
|
|
274
|
-
pg
|
|
275
|
-
pry-byebug
|
|
276
|
-
pry-rails
|
|
277
|
-
rails (~> 5.1.4)
|
|
278
|
-
rails-controller-testing
|
|
279
|
-
rspec-instafail
|
|
280
|
-
rspec-rails
|
|
281
|
-
rspec-retry
|
|
282
|
-
rubocop
|
|
283
|
-
selenium-webdriver
|
|
284
|
-
sqlite3
|
|
285
|
-
timecop
|
|
286
|
-
webdrivers
|
|
287
|
-
|
|
288
|
-
BUNDLED WITH
|
|
289
|
-
2.0.1
|