marty 2.0.8 → 2.0.9

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