searchgasm 1.0.2 → 1.0.3
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.
- 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
|