searchgasm 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +12 -2
- data/Manifest +5 -4
- data/README.rdoc +15 -17
- data/Rakefile +1 -2
- data/lib/searchgasm/active_record/associations.rb +19 -31
- data/lib/searchgasm/active_record/base.rb +40 -9
- data/lib/searchgasm/condition/base.rb +1 -1
- data/lib/searchgasm/condition/inclusive_descendant_of.rb +0 -2
- data/lib/searchgasm/condition/sibling_of.rb +0 -2
- data/lib/searchgasm/conditions/base.rb +21 -34
- data/lib/searchgasm/conditions/protection.rb +8 -2
- data/lib/searchgasm/helpers/control_types/links.rb +9 -6
- data/lib/searchgasm/helpers/control_types/remote_link.rb +1 -0
- data/lib/searchgasm/helpers/control_types/remote_links.rb +3 -0
- data/lib/searchgasm/helpers/control_types/remote_select.rb +3 -0
- data/lib/searchgasm/helpers/control_types/select.rb +3 -0
- data/lib/searchgasm/helpers/form.rb +11 -4
- data/lib/searchgasm/search/base.rb +26 -46
- data/lib/searchgasm/search/conditions.rb +4 -1
- data/lib/searchgasm/search/pagination.rb +2 -1
- data/lib/searchgasm/search/scoping.rb +0 -0
- data/lib/searchgasm/search.rb +7 -0
- data/lib/searchgasm/shared/searching.rb +25 -0
- data/lib/searchgasm/shared/utilities.rb +32 -0
- data/lib/searchgasm/shared/virtual_classes.rb +39 -0
- data/lib/searchgasm/version.rb +1 -1
- data/lib/searchgasm.rb +6 -2
- data/searchgasm.gemspec +15 -10
- data/test/test_active_record_associations.rb +18 -1
- data/test/test_conditions_base.rb +19 -11
- data/test/test_search_base.rb +8 -8
- metadata +14 -9
- data/benchmarks/benchmark.rb +0 -43
- data/benchmarks/benchmark_helper.rb +0 -52
- data/benchmarks/profile.rb +0 -15
- data/lib/searchgasm/utilities.rb +0 -30
data/lib/searchgasm/utilities.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
module Searchgasm
|
2
|
-
module Utilities # :nodoc:
|
3
|
-
private
|
4
|
-
def merge_conditions(*conditions)
|
5
|
-
options = conditions.extract_options!
|
6
|
-
conditions.delete_if { |condition| condition.blank? }
|
7
|
-
return if conditions.blank?
|
8
|
-
return conditions.first if conditions.size == 1
|
9
|
-
|
10
|
-
conditions_strs = []
|
11
|
-
conditions_subs = []
|
12
|
-
|
13
|
-
conditions.each do |condition|
|
14
|
-
next if condition.blank?
|
15
|
-
arr_condition = [condition].flatten
|
16
|
-
conditions_strs << arr_condition.first
|
17
|
-
conditions_subs += arr_condition[1..-1]
|
18
|
-
end
|
19
|
-
|
20
|
-
return if conditions_strs.blank?
|
21
|
-
|
22
|
-
join = options[:any] ? "OR" : "AND"
|
23
|
-
conditions_str = "(#{conditions_strs.join(") #{join} (")})"
|
24
|
-
|
25
|
-
return conditions_str if conditions_subs.blank?
|
26
|
-
|
27
|
-
[conditions_str, *conditions_subs]
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|