Skip to content

Commit 61b7035

Browse files
committed
Merge pull request #60 from patterninc/pred-6551
PRED-6551 Process all the criteria(not just first one) and store in the filters
1 parent fa98422 commit 61b7035

File tree

3 files changed

+11
-13
lines changed

3 files changed

+11
-13
lines changed

lib/query_helper.rb

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -282,12 +282,8 @@ def search_filter(column_maps)
282282
raise ArgumentError.new("search_fields not defined") unless @search_fields.length > 0
283283
placement = :where
284284
maps = column_maps.select do |cm|
285-
if @search_fields.include? cm.alias_name
286285
placement = :having if cm.aggregate
287-
true
288-
else
289-
false
290-
end
286+
@search_fields.include? cm.alias_name
291287
end
292288
bind_variable = ('a'..'z').to_a.shuffle[0,20].join.to_sym
293289
@bind_variables[bind_variable] = "%#{@search_string}%"

lib/query_helper/sql_filter.rb

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,15 @@ def create_filters
2121
raise InvalidQueryError.new("cannot filter by #{comparate_alias}") unless map
2222

2323
# create the filter
24-
@filters << QueryHelper::Filter.new(
25-
operator_code: criteria.keys.first,
26-
criterion: criteria.values.first,
27-
comparate: map.sql_expression,
28-
aggregate: map.aggregate,
29-
qualify_clause: aggregated_attribute?(comparate: map.sql_expression)
30-
)
24+
criteria.each do |k, v|
25+
@filters << QueryHelper::Filter.new(
26+
operator_code: k,
27+
criterion: v,
28+
comparate: map.sql_expression,
29+
aggregate: map.aggregate,
30+
qualify_clause: aggregated_attribute?(comparate: map.sql_expression)
31+
)
32+
end
3133
end
3234
end
3335

lib/query_helper/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
class QueryHelper
2-
VERSION = "0.4.2"
2+
VERSION = "0.4.3"
33
end

0 commit comments

Comments
 (0)