marty 2.0.8 → 2.0.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d4b9ec78b400c21d7508aea327a6ca0938e0d58
4
- data.tar.gz: 30e58cfb52553a81c175c50083fe33f784ab9d76
3
+ metadata.gz: cc93810ae5dd275a46e3126262f32d3b1801eb0c
4
+ data.tar.gz: ec26658316552eb0be436ece29dcc3e5954604cb
5
5
  SHA512:
6
- metadata.gz: 9347545575665dc478f1b704f659724a957a92780d955ced1ba3ef3244ba370080df8205f8943eb33b83b421e415411875a82def6eb2e3d4dd97c8de172096ba
7
- data.tar.gz: 7e153da3ce81774de494b87ced870ad5153180e2c90ed08c68d70fe0615378de71e4403fd5d928c0e810022f28b69579fed669d586de685853db2cf1948db21a
6
+ metadata.gz: c0a913f766620e18ab38ea070872b071cc5f4581e9eb0819f62fe82de458d166746978826998df9e7cf055256d94655f9dfffa91965840a5dc0ae6faeb1f2abe
7
+ data.tar.gz: a377aa7395151b4a7588ff59bba50c91ecafc65a027f77abfc04e98db1262638850c9877b5ce7f388e68f162e1d2cfeef35355e91a40150ba33b36e844ae9212
@@ -37,7 +37,7 @@ class Marty::DataGrid < Marty::Base
37
37
  inf["attr"], inf["type"], inf["keys"], inf["rs_keep"]
38
38
 
39
39
  unless rs_keep.nil? || rs_keep.empty?
40
- m = /\A *(<|<=|>|>=)? *([a-z_]+) *\z/.match(rs_keep)
40
+ m = /\A *(<|<=|>|>=)? *([a-z][a-z_0-9]+) *\z/.match(rs_keep)
41
41
  unless m
42
42
  dg.errors.add(:base, "invalid grid modifier expression: #{rs_keep}")
43
43
  next
@@ -193,6 +193,9 @@ class Marty::DataGrid < Marty::Base
193
193
  h[attr] = val.is_a?(String) ?
194
194
  ActiveRecord::Base.connection.quote(val)[1..-2] : val
195
195
  end
196
+ nilparams = h.select{|k, v| v==nil}
197
+ raise "Data Grid #{dgh['name']} lookup with nil attrs #{nilparams}" if
198
+ nilparams.present?
196
199
 
197
200
  fn = "lookup_grid_distinct"
198
201
  hjson = "'#{h.to_json}'::JSONB"
@@ -1,3 +1,3 @@
1
1
  module Marty
2
- VERSION = "2.0.8"
2
+ VERSION = "2.0.9"
3
3
  end
@@ -169,6 +169,15 @@ property_state\tstring\tv
169
169
 
170
170
  \tCA\t0.25
171
171
  700127\tCA\t0.35
172
+ EOS
173
+
174
+ Gk =<<EOS
175
+ fha_203k_option\tstring\tv\tfha_203k_option
176
+
177
+ Investor Services\t-0.625
178
+ Admin Services\t-1.0
179
+ Admin Services Plus\t-1.625
180
+ Investor Services Acadamy\t-0.5
172
181
  EOS
173
182
 
174
183
  before(:each) do
@@ -269,6 +278,15 @@ EOS
269
278
  dg_from_import("Ga", g_bad)
270
279
  }.to raise_error(RuntimeError)
271
280
  end
281
+
282
+ it "validates grid modifier" do
283
+ bad = ': abc def'
284
+ g_bad = Gk.sub(/fha_203k_option$/, bad)
285
+ expect { dg_from_import( "Gk", g_bad)
286
+ }.to raise_error(/invalid grid modifier expression: #{bad}/)
287
+ expect { dg_from_import( "Gk", Gk)
288
+ }.not_to raise_error
289
+ end
272
290
  end
273
291
 
274
292
  describe "lookups for infinity" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marty
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.8
4
+ version: 2.0.9
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: 2018-05-10 00:00:00.000000000 Z
17
+ date: 2018-05-18 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: pg