json2sql 1.0.16 → 1.0.17

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
  SHA256:
3
- metadata.gz: 39f16dc1347524e05a3b12ea619883c5cfec2ebf86c13df6954f549fb7f7d934
4
- data.tar.gz: 6590f96be14c84a510368e25bf875e5223825162b39b1bb3d06f075a6c43a1cc
3
+ metadata.gz: 93c1247f7047a25a4a0250cac5d5613c313ccbc81e08f7d3a80a86741ecadf99
4
+ data.tar.gz: eb70aef8f428ae377e19eb4e7d1b379583ce59f41cbaa899f6a94929a314e398
5
5
  SHA512:
6
- metadata.gz: 51c4cc95f0a1fb7d529b2366515a0661f48c26cd6c28da176c0e58f7c7bb7f900853e1ce1ffa76c84cfc65797eab3bae6cecac1fd88558fc70c429253005c9d6
7
- data.tar.gz: 6a6d13a1d6ba250e52fc7a87f5e3f99852d815cbf6bd34b34a170972a478c35df2836cb124959e662b3abd2fb4d8294cb3deb087fd1d80ba2c044eda4416c96b
6
+ metadata.gz: b3c7751decd988513996816c794cfde5e956eeca54372814b4cb85b42f7a2108cc55bcfca433ae3c0f15c8c422050540fb2b7b5630626f9f3fd33697ce2f283b
7
+ data.tar.gz: 1ab3701997f7d51b7378a7865836e9acb420510b160d359365627baebb814c7c18aea1f9d0e111125bf4a1500e1dd517a7cdcfe79118fe21ec74937638eeff60
@@ -97,9 +97,9 @@ module Json2sql
97
97
 
98
98
  return false unless params.is_a?(Hash)
99
99
 
100
- cols = params["columns"]
100
+ columns = params["columns"]
101
101
 
102
- (cols.is_a?(Array) || cols.is_a?(Hash)) && cols.empty?
102
+ (columns.is_a?(Array) || columns.is_a?(Hash)) && columns.empty?
103
103
  end
104
104
 
105
105
  def filter_tables(params, config)
@@ -139,26 +139,44 @@ module Json2sql
139
139
 
140
140
  def filter_columns(params, config)
141
141
 
142
- columns = params["columns"]
142
+ param_columns = params["columns"]
143
+
144
+ return unless param_columns.is_a?(Array) || param_columns.is_a?(Hash)
143
145
 
144
- return unless columns.is_a?(Array) || columns.is_a?(Hash)
146
+ config_columns = config["columns"]
145
147
 
146
- list = config["columns"]
148
+ unless config_columns.is_a?(Array)
149
+
150
+ if @mode == :allow
151
+
152
+ params["columns"] = param_columns.is_a?(Array) ? [] : {}
153
+ end
147
154
 
148
- if !list.is_a?(Array)
149
- params["columns"] = columns.is_a?(Array) ? [] : {} if @mode == :allow
150
155
  return
151
156
  end
152
157
 
153
- params["columns"] = if @mode == :deny
158
+ if @mode == :deny
159
+
160
+ if param_columns.is_a?(Array)
154
161
 
155
- columns.is_a?(Array) ? columns.reject { |c| list.include?(c) } : columns.reject { |k, _| list.include?(k) }
162
+ params["columns"] = param_columns.reject { |c| config_columns.include?(c) }
156
163
 
157
- else
164
+ return
165
+ end
158
166
 
159
- columns.is_a?(Array) ? columns.select { |c| c.is_a?(Hash) || list.include?(c) } : columns.select { |k, _| list.include?(k) }
167
+ params["columns"] = param_columns.reject { |k, _| config_columns.include?(k) }
160
168
 
169
+ return
170
+ end
171
+
172
+ if param_columns.is_a?(Array)
173
+
174
+ params["columns"] = param_columns.select { |c| c.is_a?(Hash) || config_columns.include?(c) }
175
+
176
+ return
161
177
  end
178
+
179
+ params["columns"] = param_columns.select { |k, _| config_columns.include?(k) }
162
180
  end
163
181
 
164
182
  # Merges forced "and" conditions into params["and"].
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Json2sql
4
- VERSION = "1.0.16"
4
+ VERSION = "1.0.17"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json2sql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.16
4
+ version: 1.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tiago da Silva