marty 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +5 -3
- data/app/models/marty/event.rb +18 -11
- data/lib/marty/data_conversion.rb +1 -3
- data/lib/marty/version.rb +1 -1
- data/spec/lib/data_importer_spec.rb +25 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df53e49739260b578673a704246805ddfdfe299a
|
4
|
+
data.tar.gz: 192942a02df9fd61b9062311a55d5a3fecb72bc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4ca86582715a4d856d5aecceda3c85d30be2adafdd586bf0bdda524d35cbbc668cb797bbfe7e5b4bb3c2e4bf4c7b621aaf54be533b958a2315169525dc3ecf7
|
7
|
+
data.tar.gz: 5e720b5bc6a02a55bf2e3db22a07ecfe0167f42f7710df2fcbb5e4cef216c357f4b5dba2e3df429082b89b5056a5c9569dca01253cc893cc0502cc733196f3cc
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
marty (1.1.
|
4
|
+
marty (1.1.3)
|
5
5
|
axlsx (= 2.1.0pre)
|
6
6
|
coderay
|
7
7
|
delorean_lang (~> 0.3.24)
|
@@ -184,9 +184,10 @@ GEM
|
|
184
184
|
rspec-support (~> 3.7.0)
|
185
185
|
rspec-support (3.7.0)
|
186
186
|
rubyzip (1.1.7)
|
187
|
-
selenium-webdriver (
|
187
|
+
selenium-webdriver (2.53.4)
|
188
188
|
childprocess (~> 0.5)
|
189
189
|
rubyzip (~> 1.0)
|
190
|
+
websocket (~> 1.0)
|
190
191
|
sprockets (3.7.1)
|
191
192
|
concurrent-ruby (~> 1.0)
|
192
193
|
rack (> 1, < 3)
|
@@ -204,6 +205,7 @@ GEM
|
|
204
205
|
thread_safe (~> 0.1)
|
205
206
|
uglifier (3.2.0)
|
206
207
|
execjs (>= 0.3.0, < 3)
|
208
|
+
websocket (1.2.5)
|
207
209
|
xpath (2.1.0)
|
208
210
|
nokogiri (~> 1.3)
|
209
211
|
|
@@ -226,7 +228,7 @@ DEPENDENCIES
|
|
226
228
|
rails (~> 4.2.10)
|
227
229
|
rspec-instafail
|
228
230
|
rspec-rails (~> 3.0)
|
229
|
-
selenium-webdriver
|
231
|
+
selenium-webdriver (~> 2.53.4)
|
230
232
|
sqlite3
|
231
233
|
timecop
|
232
234
|
|
data/app/models/marty/event.rb
CHANGED
@@ -269,17 +269,24 @@ SQL
|
|
269
269
|
upd_count = update_start_and_end
|
270
270
|
if upd_count > 0 ||
|
271
271
|
time_now_i - @all_finished[:timestamp] > @poll_secs
|
272
|
-
raw = get_data(
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
272
|
+
raw = get_data("
|
273
|
+
SELECT * FROM (SELECT id
|
274
|
+
, klass
|
275
|
+
, subject_id
|
276
|
+
, enum_event_operation
|
277
|
+
, start_dt
|
278
|
+
, end_dt
|
279
|
+
, expire_secs
|
280
|
+
, comment
|
281
|
+
, error
|
282
|
+
, ROW_NUMBER() OVER (PARTITION BY
|
283
|
+
klass
|
284
|
+
, subject_id
|
285
|
+
, enum_event_operation
|
286
|
+
ORDER BY end_dt DESC) row_num
|
287
|
+
FROM marty_events
|
288
|
+
WHERE end_dt > '#{cutoff}') sub
|
289
|
+
WHERE row_num = 1")
|
283
290
|
@all_finished[:timestamp] = time_now_i
|
284
291
|
raw.each_with_object(@all_finished[:data]) do |ev, hash|
|
285
292
|
if ev["end_dt"] && ev["error"].nil?
|
@@ -46,8 +46,6 @@ class Marty::DataConversion
|
|
46
46
|
end
|
47
47
|
when :string, :text, :enum
|
48
48
|
v
|
49
|
-
when :enum_array, :string_array, :integer_array
|
50
|
-
"'{#{v}}'"
|
51
49
|
when :integer
|
52
50
|
v.to_i
|
53
51
|
when :float
|
@@ -71,7 +69,7 @@ class Marty::DataConversion
|
|
71
69
|
end
|
72
70
|
when :numrange, :int4range, :int8range
|
73
71
|
v.to_s
|
74
|
-
when :float_array, :json, :jsonb
|
72
|
+
when :float_array, :json, :jsonb, :enum_array, :string_array, :integer_array
|
75
73
|
# v might be base64 or might be a readable string
|
76
74
|
JSON.parse Marty::DataExporter.decode_json(v) rescue JSON.parse(v)
|
77
75
|
else
|
data/lib/marty/version.rb
CHANGED
@@ -54,16 +54,24 @@ EOF
|
|
54
54
|
|
55
55
|
loan_programs =<<EOF
|
56
56
|
name amortization_type mortgage_type streamline_type high_balance_indicator state_array test_int_array test_string_array
|
57
|
-
Conv Fixed 30 Year Fixed Conventional Not Streamlined false 1 foo
|
58
|
-
Conv Fixed 30 Year HB Fixed Conventional Not Streamlined true TN
|
59
|
-
Conv Fixed 30 Year DURP <=80 Fixed Conventional DURP false TN,CT 1,2,3 "foo,bar"
|
60
|
-
Conv Fixed 30 Year DURP <=80 HB Fixed Conventional DURP true "CA,NY" foo,hi mom
|
57
|
+
Conv Fixed 30 Year Fixed Conventional Not Streamlined false [1] "[""foo""]"
|
58
|
+
Conv Fixed 30 Year HB Fixed Conventional Not Streamlined true "[""TN""]" [1,2] "[""foo"",""bar""]"
|
59
|
+
Conv Fixed 30 Year DURP <=80 Fixed Conventional DURP false "[""TN"",""CT""]" [1,2,3] "[""foo"",""bar""]"
|
60
|
+
Conv Fixed 30 Year DURP <=80 HB Fixed Conventional DURP true "[""CA"",""NY""]" "[""foo"",""hi mom""]"
|
61
61
|
EOF
|
62
62
|
|
63
63
|
loan_programs_comma =<<EOF
|
64
64
|
name,amortization_type,mortgage_type,state_array,test_string_array,streamline_type,high_balance_indicator
|
65
|
-
FHA Fixed 15 Year,Fixed,FHA,"FL,NV,ME","ABC,DEF",Not Streamlined,false
|
66
|
-
FHA Fixed 100 Year,Fixed,FHA,"FL,NV,ME","XYZ,""hi mom""",Not Streamlined,false
|
65
|
+
FHA Fixed 15 Year,Fixed,FHA,"[""FL"",""NV"",""ME""]","[""ABC"",""DEF""]",Not Streamlined,false
|
66
|
+
FHA Fixed 100 Year,Fixed,FHA,"[""FL"",""NV"",""ME""]","[""XYZ,"",""hi mom""]",Not Streamlined,false
|
67
|
+
EOF
|
68
|
+
|
69
|
+
loan_programs_encoded =<<EOF
|
70
|
+
name,amortization_type,mortgage_type,conforming,ltv_ratio_percent_range,high_balance_indicator,loan_amortization_period_count,streamline_type,extra_feature_type_id,arm_initial_reset_period_count,arm_initial_cap_percent,arm_periodic_cap_percent,arm_lifetime_cap_percent,arm_index_type_id,arm_margin_rate_percent,enum_state,state_array,test_int_array,test_string_array
|
71
|
+
VA Fixed 30 Year,Fixed,VA,true,,false,360,Not Streamlined,,,,,,,,,,eJyLNowFAAHTAOo=,eJyLVkrLz1eKBQAI+AJB
|
72
|
+
VA Fixed 30 Year HB,Fixed,VA,true,,true,360,Not Streamlined,,,,,,,,,eJyLVgrxU4oFAAWtAZ8=,eJyLNtQxigUAA9UBSA==,eJyLVkrLz1fSUUpKLFKKBQAbWAPm
|
73
|
+
VA Fixed 30 Year DURP <=80,Fixed,VA,true,,false,360,DURP,,,,,,,,,eJyLVgrxU9JRcg5RigUAD/UCpg==,eJyLNtQx0jGOBQAGlQGn,eJyLVkrLz1fSUUpKLFKKBQAbWAPm
|
74
|
+
VA Fixed 30 Year DURP <=80 HB,Fixed,VA,true,,true,360,DURP,,,,,,,,,eJyLVnJ2VNJR8otUigUADy8CmA==,,eJyLVkrLz1fSUcrIVMjNz1WKBQApLQTr
|
67
75
|
EOF
|
68
76
|
|
69
77
|
fannie_bup4 =<<EOF
|
@@ -348,10 +356,12 @@ EOF
|
|
348
356
|
end
|
349
357
|
end
|
350
358
|
|
351
|
-
it "should load array types" do
|
359
|
+
it "should load array types (incl encoded)" do
|
352
360
|
Marty::DataImporter.do_import(Gemini::LoanProgram, loan_programs)
|
353
361
|
Marty::DataImporter.do_import(Gemini::LoanProgram, loan_programs_comma,
|
354
362
|
'infinity', nil, nil, ',')
|
363
|
+
Marty::DataImporter.do_import(Gemini::LoanProgram, loan_programs_encoded,
|
364
|
+
'infinity', nil, nil, ',')
|
355
365
|
lpset = Gemini::LoanProgram.all.pluck(:name, :state_array,
|
356
366
|
:test_int_array,
|
357
367
|
:test_string_array).to_set
|
@@ -365,7 +375,14 @@ EOF
|
|
365
375
|
["FHA Fixed 15 Year", ["FL","NV","ME"], nil,
|
366
376
|
['ABC', 'DEF']],
|
367
377
|
["FHA Fixed 100 Year", ["FL","NV","ME"], nil,
|
368
|
-
['XYZ', 'hi mom']]
|
378
|
+
['XYZ,', 'hi mom']],
|
379
|
+
["VA Fixed 30 Year", nil, [1], ['foo']],
|
380
|
+
["VA Fixed 30 Year HB", ["TN"], [1, 2],
|
381
|
+
['foo', 'bar']],
|
382
|
+
["VA Fixed 30 Year DURP <=80", ["TN", "CT"],
|
383
|
+
[1, 2, 3], ['foo', 'bar']],
|
384
|
+
["VA Fixed 30 Year DURP <=80 HB", ["CA", "NY"],
|
385
|
+
nil, ['foo', 'hi mom']],
|
369
386
|
].to_set)
|
370
387
|
|
371
388
|
end
|
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: 1.1.
|
4
|
+
version: 1.1.3
|
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: 2017-12-
|
17
|
+
date: 2017-12-19 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: pg
|