forest_liana 3.0.7 → 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/app/services/forest_liana/search_query_builder.rb +13 -14
- data/lib/forest_liana/version.rb +1 -1
- 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: aa10ea49b5d651340708ab73c554511cd70338c3
|
4
|
+
data.tar.gz: acb4a3b7f02ea2032edfe4522ffcb5c05e0ae8c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c1bea91f48f1d78e93ef4ab74ed177d84193c82bc48cd632272d0dfd5e64c75d8c7031f5190c7edbdc3d9027c8a35b5eddd23a6f1b425d07c459d282a9ab9b8
|
7
|
+
data.tar.gz: c26d013d000f2c7c3eb4e9a40e086f9664e77bc426f56b106fe8c878b618421d17ed9e242c200b9ed33c25ba7fa35a8213527270c43708e7e0a72ec4b05fcd66
|
@@ -17,9 +17,8 @@ module ForestLiana
|
|
17
17
|
@tables_associated_to_relations_name =
|
18
18
|
ForestLiana::QueryHelper.get_tables_associated_to_relations_name(@resource)
|
19
19
|
@records = search_param
|
20
|
-
@records = filter_param
|
21
20
|
@records = has_many_filter
|
22
|
-
@records =
|
21
|
+
@records = belongs_to_and_params_filter
|
23
22
|
|
24
23
|
if @search
|
25
24
|
ForestLiana.schema_for_resource(@resource).fields.each do |field|
|
@@ -37,6 +36,11 @@ module ForestLiana
|
|
37
36
|
@records
|
38
37
|
end
|
39
38
|
|
39
|
+
def belongs_to_and_params_filter
|
40
|
+
conditions = filter_param + belongs_to_filter
|
41
|
+
@records.where(conditions.join(" #{@params[:filterType]} ".upcase))
|
42
|
+
end
|
43
|
+
|
40
44
|
def format_column_name(table_name, column_name)
|
41
45
|
ForestLiana::AdapterHelper.format_column_name(table_name, column_name)
|
42
46
|
end
|
@@ -151,8 +155,9 @@ module ForestLiana
|
|
151
155
|
end
|
152
156
|
|
153
157
|
def filter_param
|
158
|
+
conditions = []
|
159
|
+
|
154
160
|
if @params[:filterType] && @params[:filter]
|
155
|
-
conditions = []
|
156
161
|
|
157
162
|
@params[:filter].each do |field, values|
|
158
163
|
# ActsAsTaggable
|
@@ -174,12 +179,9 @@ module ForestLiana
|
|
174
179
|
end
|
175
180
|
end
|
176
181
|
end
|
177
|
-
|
178
|
-
operator = " #{@params[:filterType]} ".upcase
|
179
|
-
@records = @records.where(conditions.join(operator))
|
180
182
|
end
|
181
183
|
|
182
|
-
|
184
|
+
conditions
|
183
185
|
end
|
184
186
|
|
185
187
|
def association?(field)
|
@@ -257,23 +259,20 @@ module ForestLiana
|
|
257
259
|
[:belongs_to, :has_one].include?(association.try(:macro))
|
258
260
|
end
|
259
261
|
|
260
|
-
def belongs_to_subfield_filter(field, value)
|
261
|
-
condition = OperatorValueParser.get_has_one_condition(@resource, field, value, @params[:timezone])
|
262
|
-
@records.where(condition) if condition
|
263
|
-
end
|
264
|
-
|
265
262
|
def belongs_to_filter
|
263
|
+
conditions = []
|
264
|
+
|
266
265
|
if @params[:filter]
|
267
266
|
@params[:filter].each do |field, values|
|
268
267
|
next unless belongs_to_association?(field)
|
269
268
|
|
270
269
|
values.split(',').each do |value|
|
271
|
-
|
270
|
+
conditions << OperatorValueParser.get_has_one_condition(@resource, field, value, @params[:timezone])
|
272
271
|
end
|
273
272
|
end
|
274
273
|
end
|
275
274
|
|
276
|
-
|
275
|
+
conditions
|
277
276
|
end
|
278
277
|
|
279
278
|
private
|
data/lib/forest_liana/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: forest_liana
|
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
|
- Sandro Munda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|