searchlogic 1.5.7 → 1.5.8
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +6 -0
- data/Manifest +2 -0
- data/README.rdoc +12 -13
- data/lib/searchlogic.rb +2 -0
- data/lib/searchlogic/conditions/groups.rb +10 -24
- data/lib/searchlogic/conditions/multiparameter_attributes.rb +105 -0
- data/lib/searchlogic/shared/virtual_classes.rb +1 -1
- data/lib/searchlogic/version.rb +1 -1
- data/searchlogic.gemspec +5 -5
- data/test/conditions_tests/groups_test.rb +6 -8
- data/test/conditions_tests/multiparameter_attributes_test.rb +15 -0
- metadata +6 -2
data/CHANGELOG.rdoc
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 1.5.8 released 2008-11-30
|
2
|
+
|
3
|
+
* Removed array support for groups, arrays will set conditions, not create multiple groups. If you need to create multiple groups you will have to pass an array with multiple {:group => my_groups} hashes.
|
4
|
+
* Fixed issues with using name spaced models.
|
5
|
+
* Added support for multiparameter conditions to support date_select helpers.
|
6
|
+
|
1
7
|
== 1.5.7 released 2008-11-30
|
2
8
|
|
3
9
|
* Fixed how grouping works, you can now specify "and_group" and "or_group", just like you can with conditions.
|
data/Manifest
CHANGED
@@ -33,6 +33,7 @@ lib/searchlogic/conditions/any_or_all.rb
|
|
33
33
|
lib/searchlogic/conditions/base.rb
|
34
34
|
lib/searchlogic/conditions/groups.rb
|
35
35
|
lib/searchlogic/conditions/magic_methods.rb
|
36
|
+
lib/searchlogic/conditions/multiparameter_attributes.rb
|
36
37
|
lib/searchlogic/conditions/protection.rb
|
37
38
|
lib/searchlogic/config/helpers.rb
|
38
39
|
lib/searchlogic/config/search.rb
|
@@ -129,6 +130,7 @@ test/conditions_tests/any_or_all_test.rb
|
|
129
130
|
test/conditions_tests/base_test.rb
|
130
131
|
test/conditions_tests/groups_test.rb
|
131
132
|
test/conditions_tests/magic_methods_test.rb
|
133
|
+
test/conditions_tests/multiparameter_attributes_test.rb
|
132
134
|
test/conditions_tests/protection_test.rb
|
133
135
|
test/config_test.rb
|
134
136
|
test/fixtures/accounts.yml
|
data/README.rdoc
CHANGED
@@ -18,6 +18,7 @@ These are just the basics of Searchlogic, it can do a lot more, including pagina
|
|
18
18
|
* <b>Documentation:</b> http://searchlogic.rubyforge.org
|
19
19
|
* <b>Easy pagination, ordering, and searching tutorial:</b> http://www.binarylogic.com/2008/9/7/tutorial-pagination-ordering-and-searching-with-searchlogic
|
20
20
|
* <b>Live example of the tutorial above (with source):</b> http://searchlogic_example.binarylogic.com
|
21
|
+
* <b>Complex searching:</b> http://www.binarylogic.com/2008/11/30/searchlogic-1-5-7-complex-searching-no-longer-a-problem
|
21
22
|
* <b>Bugs / feature suggestions:</b> http://binarylogic.lighthouseapp.com/projects/16601-searchlogic
|
22
23
|
|
23
24
|
== Install and use
|
@@ -212,7 +213,7 @@ What if you want to mix and match?
|
|
212
213
|
@search.conditions.or_last_name_contains = "Johnson"
|
213
214
|
@search.conditions.and_id_gt = 5 # the and_ is optional, calling just id_gt is the same thing
|
214
215
|
@search.all # will join conditions in the orders they were set with their specified join condition
|
215
|
-
# => age >
|
216
|
+
# => age > 18 OR first_name like '%Ben%' OR lsat_name like '%Johnson%' AND id > 5
|
216
217
|
|
217
218
|
The order the conditions is set is relevant, as the SQL will be built in the same order.
|
218
219
|
|
@@ -225,9 +226,9 @@ Group off an object:
|
|
225
226
|
search = User.new_search
|
226
227
|
search.id_gt = 2
|
227
228
|
group1 = search.conditions.group
|
228
|
-
|
229
|
+
group1.first_name_like = "Ben"
|
229
230
|
group2 = search.conditions.group
|
230
|
-
|
231
|
+
group2.last_name_like = "Johnson"
|
231
232
|
group21 = group2.group
|
232
233
|
group21.email_ends_with = "binarylogic.com"
|
233
234
|
# => id > 2 AND (first_name like '%Ben%') AND (last_name like '%Johnson%' AND (email like '%binarylogic.com'))
|
@@ -239,33 +240,31 @@ Group with a block:
|
|
239
240
|
search.conditions.group do |group|
|
240
241
|
group.first_name_like = "Ben"
|
241
242
|
end
|
242
|
-
search.conditions.
|
243
|
+
search.conditions.or_group do |group|
|
243
244
|
group.last_name_like = "Johnson"
|
244
245
|
group.group do |sub_group|
|
245
246
|
sub_group.email_ends_with = "binarylogic.com"
|
246
247
|
end
|
247
248
|
end
|
248
|
-
# => id > 2 AND (first_name like '%Ben%')
|
249
|
+
# => id > 2 AND (first_name like '%Ben%') OR (last_name like '%Johnson%' AND (email like '%binarylogic.com'))
|
249
250
|
|
250
251
|
Group with a hash:
|
251
252
|
|
252
253
|
search = User.new_search(:conditions => [
|
253
254
|
{:id_gt => 2},
|
255
|
+
{:group => {:first_name_like => "Ben"}},
|
254
256
|
{:group => [
|
255
|
-
{:
|
256
|
-
|
257
|
-
{:last_name_like => "Johnson"},
|
258
|
-
{:group => {:email_ends_with => "binarylogic.com"}}
|
259
|
-
]
|
257
|
+
{:last_name_like => "Johnson"},
|
258
|
+
{:group => {:email_ends_with => "binarylogic.com"}}
|
260
259
|
]}
|
261
260
|
])
|
262
261
|
# => id > 2 AND (first_name like '%Ben%') AND (last_name like '%Johnson%' AND (email like '%binarylogic.com'))
|
263
262
|
|
264
|
-
I want to end this by saying
|
263
|
+
I want to end this by saying Searchlogic was never meant to replace SQL, name_scopes, etc. If you need to perform complex searching there is nothing wrong with resorting to a named scope or using the traditional search methods. In fact, search logic plays nice with named_scopes anyways, so you can combine the 2 if needed:
|
265
264
|
|
266
265
|
@search = User.my_awesome_scope.another_cool_scope.new_search
|
267
266
|
|
268
|
-
|
267
|
+
You decide when a named scope makes the most sense. If you are creating a named scope that is specific to the search form you are building, you should consider adding the conditions right into the form. But if you are creating a named scope that you are using throughout your application, then it probably makes sense for it to be a named scope.
|
269
268
|
|
270
269
|
== Scoped searching
|
271
270
|
|
@@ -281,7 +280,7 @@ Not only can you use searchlogic when searching, but you can use it when using s
|
|
281
280
|
class User < ActiveRecord::Base
|
282
281
|
named_scope :sexy, :conditions => {:first_name => "Ben", email_ends_with => "binarylogic.com"}, :per_page => 20
|
283
282
|
end
|
284
|
-
|
283
|
+
|
285
284
|
or
|
286
285
|
|
287
286
|
class User < ActiveRecord::Base
|
data/lib/searchlogic.rb
CHANGED
@@ -41,6 +41,7 @@ require "searchlogic/search/protection"
|
|
41
41
|
require "searchlogic/conditions/any_or_all"
|
42
42
|
require "searchlogic/conditions/groups"
|
43
43
|
require "searchlogic/conditions/magic_methods"
|
44
|
+
require "searchlogic/conditions/multiparameter_attributes"
|
44
45
|
require "searchlogic/conditions/protection"
|
45
46
|
require "searchlogic/conditions/base"
|
46
47
|
|
@@ -82,6 +83,7 @@ module Searchlogic
|
|
82
83
|
include AnyOrAll
|
83
84
|
include Groups
|
84
85
|
include MagicMethods
|
86
|
+
include MultiparameterAttributes
|
85
87
|
include Protection
|
86
88
|
end
|
87
89
|
|
@@ -10,40 +10,26 @@ module Searchlogic
|
|
10
10
|
end
|
11
11
|
|
12
12
|
# Creates a new group object to set condition off of. See examples at top of class on how to use this.
|
13
|
-
def group(conditions = nil,
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
obj = self.class.new
|
20
|
-
obj.conditions = conditions unless conditions.nil?
|
21
|
-
yield obj if block_given?
|
22
|
-
objects << obj
|
23
|
-
obj
|
24
|
-
end
|
13
|
+
def group(conditions = nil, &block)
|
14
|
+
obj = self.class.new
|
15
|
+
obj.conditions = conditions unless conditions.nil?
|
16
|
+
yield obj if block_given?
|
17
|
+
objects << obj
|
18
|
+
obj
|
25
19
|
end
|
26
20
|
alias_method :group=, :group
|
27
21
|
|
28
22
|
def and_group(*args, &block)
|
29
23
|
obj = group(*args, &block)
|
30
|
-
|
31
|
-
|
32
|
-
obj.each { |o| o.group_any = false }
|
33
|
-
else
|
34
|
-
obj
|
35
|
-
end
|
24
|
+
obj.explicit_any = false
|
25
|
+
obj
|
36
26
|
end
|
37
27
|
alias_method :and_group=, :and_group
|
38
28
|
|
39
29
|
def or_group(*args, &block)
|
40
30
|
obj = group(*args, &block)
|
41
|
-
|
42
|
-
|
43
|
-
obj.each { |o| o.group_any = true }
|
44
|
-
else
|
45
|
-
obj
|
46
|
-
end
|
31
|
+
obj.explicit_any = true
|
32
|
+
obj
|
47
33
|
end
|
48
34
|
alias_method :or_group=, :or_group
|
49
35
|
|
@@ -0,0 +1,105 @@
|
|
1
|
+
module Searchlogic
|
2
|
+
module Conditions
|
3
|
+
# = Multiparameter Attributes
|
4
|
+
#
|
5
|
+
# This code is largely copied over from ActiveRecord, so that we can handle the date_select and datetime_select helpers.
|
6
|
+
# One option would be to instantiate a new ActiveRecord object, pass the attributes to it, then get the field value. This
|
7
|
+
# would not be smart for performance because there is a lot going on there that we don't need, such as instantiating an entirely
|
8
|
+
# new object. ActiveRecord gives us no other way to use the code, so the only other option is to copy over the methods that handle this.
|
9
|
+
# This ultimately results in better performance.
|
10
|
+
module MultiparameterAttributes
|
11
|
+
def self.included(klass)
|
12
|
+
klass.class_eval do
|
13
|
+
alias_method_chain :conditions=, :multiparameter_attributes
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def conditions_with_multiparameter_attributes=(attributes)
|
18
|
+
if attributes.is_a?(Hash)
|
19
|
+
multiparameter_attributes = []
|
20
|
+
clean_attributes = {}
|
21
|
+
attributes.each do |k,v|
|
22
|
+
if k.to_s.include?("(")
|
23
|
+
multiparameter_attributes << [k, v]
|
24
|
+
else
|
25
|
+
clean_attributes[k] = v
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
attributes = clean_attributes.merge(convert_multiparameter_attributes(multiparameter_attributes))
|
30
|
+
end
|
31
|
+
|
32
|
+
self.conditions_without_multiparameter_attributes = attributes
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
def instantiate_time_object(name, values)
|
37
|
+
if klass.respond_to?(:create_time_zone_conversion_attribute, true) && klass.send(:create_time_zone_conversion_attribute?, name, column_for_attribute(name))
|
38
|
+
Time.zone.local(*values)
|
39
|
+
else
|
40
|
+
Time.time_with_datetime_fallback(klass.default_timezone, *values)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def convert_multiparameter_attributes(pairs)
|
45
|
+
convert_callstack_for_multiparameter_attributes(
|
46
|
+
extract_callstack_for_multiparameter_attributes(pairs)
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
def convert_callstack_for_multiparameter_attributes(callstack)
|
51
|
+
r = {}
|
52
|
+
callstack.each do |name, values|
|
53
|
+
date_klass = send("#{name}_object").column_for_type_cast.klass
|
54
|
+
if values.empty?
|
55
|
+
r[name] = nil
|
56
|
+
else
|
57
|
+
begin
|
58
|
+
value = if Time == date_klass
|
59
|
+
instantiate_time_object(name, values)
|
60
|
+
elsif Date == date_klass
|
61
|
+
begin
|
62
|
+
Date.new(*values)
|
63
|
+
rescue ArgumentError => ex # if Date.new raises an exception on an invalid date
|
64
|
+
instantiate_time_object(name, values).to_date # we instantiate Time object and convert it back to a date thus using Time's logic in handling invalid dates
|
65
|
+
end
|
66
|
+
else
|
67
|
+
date_klass.new(*values)
|
68
|
+
end
|
69
|
+
|
70
|
+
r[name] = value
|
71
|
+
rescue => ex
|
72
|
+
raise ArgumentError.new("error on assignment #{values.inspect} to #{name}")
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
r
|
77
|
+
end
|
78
|
+
|
79
|
+
def extract_callstack_for_multiparameter_attributes(pairs)
|
80
|
+
attributes = { }
|
81
|
+
|
82
|
+
for pair in pairs
|
83
|
+
multiparameter_name, value = pair
|
84
|
+
attribute_name = multiparameter_name.split("(").first
|
85
|
+
attributes[attribute_name] = [] unless attributes.include?(attribute_name)
|
86
|
+
|
87
|
+
unless value.empty?
|
88
|
+
attributes[attribute_name] <<
|
89
|
+
[ find_parameter_position(multiparameter_name), type_cast_attribute_value(multiparameter_name, value) ]
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
attributes.each { |name, values| attributes[name] = values.sort_by{ |v| v.first }.collect { |v| v.last } }
|
94
|
+
end
|
95
|
+
|
96
|
+
def type_cast_attribute_value(multiparameter_name, value)
|
97
|
+
multiparameter_name =~ /\([0-9]*([a-z])\)/ ? value.send("to_" + $1) : value
|
98
|
+
end
|
99
|
+
|
100
|
+
def find_parameter_position(multiparameter_name)
|
101
|
+
multiparameter_name.scan(/\(([0-9]*).*\)/).first.first
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
@@ -13,7 +13,7 @@ module Searchlogic
|
|
13
13
|
# Creates virtual classes for the class passed to it. This is a neccesity for keeping dynamically created method
|
14
14
|
# names specific to models. It provides caching and helps a lot with performance.
|
15
15
|
def create_virtual_class(model_class)
|
16
|
-
class_search_name = "::Searchlogic::Cache::#{model_class.name}" + name.split(/::/)[1]
|
16
|
+
class_search_name = "::Searchlogic::Cache::#{model_class.name.gsub("::", "")}" + name.split(/::/)[1]
|
17
17
|
|
18
18
|
begin
|
19
19
|
eval(class_search_name)
|
data/lib/searchlogic/version.rb
CHANGED
data/searchlogic.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{searchlogic}
|
5
|
-
s.version = "1.5.
|
5
|
+
s.version = "1.5.8"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ben Johnson of Binary Logic"]
|
9
|
-
s.date = %q{2008-
|
9
|
+
s.date = %q{2008-12-03}
|
10
10
|
s.description = %q{Object based ActiveRecord searching, ordering, pagination, and more!}
|
11
11
|
s.email = %q{bjohnson@binarylogic.com}
|
12
|
-
s.extra_rdoc_files = ["CHANGELOG.rdoc", "lib/searchlogic/active_record/associations.rb", "lib/searchlogic/active_record/base.rb", "lib/searchlogic/active_record/connection_adapters/mysql_adapter.rb", "lib/searchlogic/active_record/connection_adapters/postgresql_adapter.rb", "lib/searchlogic/active_record/connection_adapters/sqlite_adapter.rb", "lib/searchlogic/condition/base.rb", "lib/searchlogic/condition/begins_with.rb", "lib/searchlogic/condition/blank.rb", "lib/searchlogic/condition/child_of.rb", "lib/searchlogic/condition/descendant_of.rb", "lib/searchlogic/condition/ends_with.rb", "lib/searchlogic/condition/equals.rb", "lib/searchlogic/condition/greater_than.rb", "lib/searchlogic/condition/greater_than_or_equal_to.rb", "lib/searchlogic/condition/inclusive_descendant_of.rb", "lib/searchlogic/condition/keywords.rb", "lib/searchlogic/condition/less_than.rb", "lib/searchlogic/condition/less_than_or_equal_to.rb", "lib/searchlogic/condition/like.rb", "lib/searchlogic/condition/nil.rb", "lib/searchlogic/condition/not_begin_with.rb", "lib/searchlogic/condition/not_blank.rb", "lib/searchlogic/condition/not_end_with.rb", "lib/searchlogic/condition/not_equal.rb", "lib/searchlogic/condition/not_have_keywords.rb", "lib/searchlogic/condition/not_like.rb", "lib/searchlogic/condition/not_nil.rb", "lib/searchlogic/condition/sibling_of.rb", "lib/searchlogic/condition/tree.rb", "lib/searchlogic/conditions/any_or_all.rb", "lib/searchlogic/conditions/base.rb", "lib/searchlogic/conditions/groups.rb", "lib/searchlogic/conditions/magic_methods.rb", "lib/searchlogic/conditions/protection.rb", "lib/searchlogic/config/helpers.rb", "lib/searchlogic/config/search.rb", "lib/searchlogic/config.rb", "lib/searchlogic/core_ext/hash.rb", "lib/searchlogic/helpers/control_types/link.rb", "lib/searchlogic/helpers/control_types/links.rb", "lib/searchlogic/helpers/control_types/remote_link.rb", "lib/searchlogic/helpers/control_types/remote_links.rb", "lib/searchlogic/helpers/control_types/remote_select.rb", "lib/searchlogic/helpers/control_types/select.rb", "lib/searchlogic/helpers/form.rb", "lib/searchlogic/helpers/utilities.rb", "lib/searchlogic/modifiers/absolute.rb", "lib/searchlogic/modifiers/acos.rb", "lib/searchlogic/modifiers/asin.rb", "lib/searchlogic/modifiers/atan.rb", "lib/searchlogic/modifiers/base.rb", "lib/searchlogic/modifiers/ceil.rb", "lib/searchlogic/modifiers/char_length.rb", "lib/searchlogic/modifiers/cos.rb", "lib/searchlogic/modifiers/cot.rb", "lib/searchlogic/modifiers/day_of_month.rb", "lib/searchlogic/modifiers/day_of_week.rb", "lib/searchlogic/modifiers/day_of_year.rb", "lib/searchlogic/modifiers/degrees.rb", "lib/searchlogic/modifiers/exp.rb", "lib/searchlogic/modifiers/floor.rb", "lib/searchlogic/modifiers/hex.rb", "lib/searchlogic/modifiers/hour.rb", "lib/searchlogic/modifiers/log.rb", "lib/searchlogic/modifiers/log10.rb", "lib/searchlogic/modifiers/log2.rb", "lib/searchlogic/modifiers/lower.rb", "lib/searchlogic/modifiers/ltrim.rb", "lib/searchlogic/modifiers/md5.rb", "lib/searchlogic/modifiers/microseconds.rb", "lib/searchlogic/modifiers/milliseconds.rb", "lib/searchlogic/modifiers/minute.rb", "lib/searchlogic/modifiers/month.rb", "lib/searchlogic/modifiers/octal.rb", "lib/searchlogic/modifiers/radians.rb", "lib/searchlogic/modifiers/round.rb", "lib/searchlogic/modifiers/rtrim.rb", "lib/searchlogic/modifiers/second.rb", "lib/searchlogic/modifiers/sign.rb", "lib/searchlogic/modifiers/sin.rb", "lib/searchlogic/modifiers/square_root.rb", "lib/searchlogic/modifiers/tan.rb", "lib/searchlogic/modifiers/trim.rb", "lib/searchlogic/modifiers/upper.rb", "lib/searchlogic/modifiers/week.rb", "lib/searchlogic/modifiers/year.rb", "lib/searchlogic/search/base.rb", "lib/searchlogic/search/conditions.rb", "lib/searchlogic/search/ordering.rb", "lib/searchlogic/search/pagination.rb", "lib/searchlogic/search/protection.rb", "lib/searchlogic/search/searching.rb", "lib/searchlogic/shared/utilities.rb", "lib/searchlogic/shared/virtual_classes.rb", "lib/searchlogic/version.rb", "lib/searchlogic.rb", "README.rdoc", "TODO.rdoc"]
|
13
|
-
s.files = ["CHANGELOG.rdoc", "init.rb", "lib/searchlogic/active_record/associations.rb", "lib/searchlogic/active_record/base.rb", "lib/searchlogic/active_record/connection_adapters/mysql_adapter.rb", "lib/searchlogic/active_record/connection_adapters/postgresql_adapter.rb", "lib/searchlogic/active_record/connection_adapters/sqlite_adapter.rb", "lib/searchlogic/condition/base.rb", "lib/searchlogic/condition/begins_with.rb", "lib/searchlogic/condition/blank.rb", "lib/searchlogic/condition/child_of.rb", "lib/searchlogic/condition/descendant_of.rb", "lib/searchlogic/condition/ends_with.rb", "lib/searchlogic/condition/equals.rb", "lib/searchlogic/condition/greater_than.rb", "lib/searchlogic/condition/greater_than_or_equal_to.rb", "lib/searchlogic/condition/inclusive_descendant_of.rb", "lib/searchlogic/condition/keywords.rb", "lib/searchlogic/condition/less_than.rb", "lib/searchlogic/condition/less_than_or_equal_to.rb", "lib/searchlogic/condition/like.rb", "lib/searchlogic/condition/nil.rb", "lib/searchlogic/condition/not_begin_with.rb", "lib/searchlogic/condition/not_blank.rb", "lib/searchlogic/condition/not_end_with.rb", "lib/searchlogic/condition/not_equal.rb", "lib/searchlogic/condition/not_have_keywords.rb", "lib/searchlogic/condition/not_like.rb", "lib/searchlogic/condition/not_nil.rb", "lib/searchlogic/condition/sibling_of.rb", "lib/searchlogic/condition/tree.rb", "lib/searchlogic/conditions/any_or_all.rb", "lib/searchlogic/conditions/base.rb", "lib/searchlogic/conditions/groups.rb", "lib/searchlogic/conditions/magic_methods.rb", "lib/searchlogic/conditions/protection.rb", "lib/searchlogic/config/helpers.rb", "lib/searchlogic/config/search.rb", "lib/searchlogic/config.rb", "lib/searchlogic/core_ext/hash.rb", "lib/searchlogic/helpers/control_types/link.rb", "lib/searchlogic/helpers/control_types/links.rb", "lib/searchlogic/helpers/control_types/remote_link.rb", "lib/searchlogic/helpers/control_types/remote_links.rb", "lib/searchlogic/helpers/control_types/remote_select.rb", "lib/searchlogic/helpers/control_types/select.rb", "lib/searchlogic/helpers/form.rb", "lib/searchlogic/helpers/utilities.rb", "lib/searchlogic/modifiers/absolute.rb", "lib/searchlogic/modifiers/acos.rb", "lib/searchlogic/modifiers/asin.rb", "lib/searchlogic/modifiers/atan.rb", "lib/searchlogic/modifiers/base.rb", "lib/searchlogic/modifiers/ceil.rb", "lib/searchlogic/modifiers/char_length.rb", "lib/searchlogic/modifiers/cos.rb", "lib/searchlogic/modifiers/cot.rb", "lib/searchlogic/modifiers/day_of_month.rb", "lib/searchlogic/modifiers/day_of_week.rb", "lib/searchlogic/modifiers/day_of_year.rb", "lib/searchlogic/modifiers/degrees.rb", "lib/searchlogic/modifiers/exp.rb", "lib/searchlogic/modifiers/floor.rb", "lib/searchlogic/modifiers/hex.rb", "lib/searchlogic/modifiers/hour.rb", "lib/searchlogic/modifiers/log.rb", "lib/searchlogic/modifiers/log10.rb", "lib/searchlogic/modifiers/log2.rb", "lib/searchlogic/modifiers/lower.rb", "lib/searchlogic/modifiers/ltrim.rb", "lib/searchlogic/modifiers/md5.rb", "lib/searchlogic/modifiers/microseconds.rb", "lib/searchlogic/modifiers/milliseconds.rb", "lib/searchlogic/modifiers/minute.rb", "lib/searchlogic/modifiers/month.rb", "lib/searchlogic/modifiers/octal.rb", "lib/searchlogic/modifiers/radians.rb", "lib/searchlogic/modifiers/round.rb", "lib/searchlogic/modifiers/rtrim.rb", "lib/searchlogic/modifiers/second.rb", "lib/searchlogic/modifiers/sign.rb", "lib/searchlogic/modifiers/sin.rb", "lib/searchlogic/modifiers/square_root.rb", "lib/searchlogic/modifiers/tan.rb", "lib/searchlogic/modifiers/trim.rb", "lib/searchlogic/modifiers/upper.rb", "lib/searchlogic/modifiers/week.rb", "lib/searchlogic/modifiers/year.rb", "lib/searchlogic/search/base.rb", "lib/searchlogic/search/conditions.rb", "lib/searchlogic/search/ordering.rb", "lib/searchlogic/search/pagination.rb", "lib/searchlogic/search/protection.rb", "lib/searchlogic/search/searching.rb", "lib/searchlogic/shared/utilities.rb", "lib/searchlogic/shared/virtual_classes.rb", "lib/searchlogic/version.rb", "lib/searchlogic.rb", "Manifest", "MIT-LICENSE", "Rakefile", "README.rdoc", "test/active_record_tests/associations_test.rb", "test/active_record_tests/base_test.rb", "test/condition_tests/base_test.rb", "test/condition_tests/begins_with_test.rb", "test/condition_tests/blank_test.rb", "test/condition_tests/child_of_test.rb", "test/condition_tests/descendant_of_test.rb", "test/condition_tests/ends_with_test.rb", "test/condition_tests/equals_test.rb", "test/condition_tests/greater_than_or_equal_to_test.rb", "test/condition_tests/greater_than_test.rb", "test/condition_tests/inclusive_descendant_of_test.rb", "test/condition_tests/keywords_test.rb", "test/condition_tests/less_than_or_equal_to_test.rb", "test/condition_tests/less_than_test.rb", "test/condition_tests/like_test.rb", "test/condition_tests/nil_test.rb", "test/condition_tests/not_begin_with_test.rb", "test/condition_tests/not_blank_test.rb", "test/condition_tests/not_end_with_test.rb", "test/condition_tests/not_equal_test.rb", "test/condition_tests/not_have_keywords_test.rb", "test/condition_tests/not_like_test.rb", "test/condition_tests/not_nil_test.rb", "test/condition_tests/sibling_of_test.rb", "test/conditions_tests/any_or_all_test.rb", "test/conditions_tests/base_test.rb", "test/conditions_tests/groups_test.rb", "test/conditions_tests/magic_methods_test.rb", "test/conditions_tests/protection_test.rb", "test/config_test.rb", "test/fixtures/accounts.yml", "test/fixtures/animals.yml", "test/fixtures/orders.yml", "test/fixtures/user_groups.yml", "test/fixtures/users.yml", "test/libs/acts_as_tree.rb", "test/libs/rexml_fix.rb", "test/modifier_tests/day_of_month_test.rb", "test/search_tests/base_test.rb", "test/search_tests/conditions_test.rb", "test/search_tests/ordering_test.rb", "test/search_tests/pagination_test.rb", "test/search_tests/protection_test.rb", "test/test_helper.rb", "TODO.rdoc", "searchlogic.gemspec"]
|
12
|
+
s.extra_rdoc_files = ["CHANGELOG.rdoc", "lib/searchlogic/active_record/associations.rb", "lib/searchlogic/active_record/base.rb", "lib/searchlogic/active_record/connection_adapters/mysql_adapter.rb", "lib/searchlogic/active_record/connection_adapters/postgresql_adapter.rb", "lib/searchlogic/active_record/connection_adapters/sqlite_adapter.rb", "lib/searchlogic/condition/base.rb", "lib/searchlogic/condition/begins_with.rb", "lib/searchlogic/condition/blank.rb", "lib/searchlogic/condition/child_of.rb", "lib/searchlogic/condition/descendant_of.rb", "lib/searchlogic/condition/ends_with.rb", "lib/searchlogic/condition/equals.rb", "lib/searchlogic/condition/greater_than.rb", "lib/searchlogic/condition/greater_than_or_equal_to.rb", "lib/searchlogic/condition/inclusive_descendant_of.rb", "lib/searchlogic/condition/keywords.rb", "lib/searchlogic/condition/less_than.rb", "lib/searchlogic/condition/less_than_or_equal_to.rb", "lib/searchlogic/condition/like.rb", "lib/searchlogic/condition/nil.rb", "lib/searchlogic/condition/not_begin_with.rb", "lib/searchlogic/condition/not_blank.rb", "lib/searchlogic/condition/not_end_with.rb", "lib/searchlogic/condition/not_equal.rb", "lib/searchlogic/condition/not_have_keywords.rb", "lib/searchlogic/condition/not_like.rb", "lib/searchlogic/condition/not_nil.rb", "lib/searchlogic/condition/sibling_of.rb", "lib/searchlogic/condition/tree.rb", "lib/searchlogic/conditions/any_or_all.rb", "lib/searchlogic/conditions/base.rb", "lib/searchlogic/conditions/groups.rb", "lib/searchlogic/conditions/magic_methods.rb", "lib/searchlogic/conditions/multiparameter_attributes.rb", "lib/searchlogic/conditions/protection.rb", "lib/searchlogic/config/helpers.rb", "lib/searchlogic/config/search.rb", "lib/searchlogic/config.rb", "lib/searchlogic/core_ext/hash.rb", "lib/searchlogic/helpers/control_types/link.rb", "lib/searchlogic/helpers/control_types/links.rb", "lib/searchlogic/helpers/control_types/remote_link.rb", "lib/searchlogic/helpers/control_types/remote_links.rb", "lib/searchlogic/helpers/control_types/remote_select.rb", "lib/searchlogic/helpers/control_types/select.rb", "lib/searchlogic/helpers/form.rb", "lib/searchlogic/helpers/utilities.rb", "lib/searchlogic/modifiers/absolute.rb", "lib/searchlogic/modifiers/acos.rb", "lib/searchlogic/modifiers/asin.rb", "lib/searchlogic/modifiers/atan.rb", "lib/searchlogic/modifiers/base.rb", "lib/searchlogic/modifiers/ceil.rb", "lib/searchlogic/modifiers/char_length.rb", "lib/searchlogic/modifiers/cos.rb", "lib/searchlogic/modifiers/cot.rb", "lib/searchlogic/modifiers/day_of_month.rb", "lib/searchlogic/modifiers/day_of_week.rb", "lib/searchlogic/modifiers/day_of_year.rb", "lib/searchlogic/modifiers/degrees.rb", "lib/searchlogic/modifiers/exp.rb", "lib/searchlogic/modifiers/floor.rb", "lib/searchlogic/modifiers/hex.rb", "lib/searchlogic/modifiers/hour.rb", "lib/searchlogic/modifiers/log.rb", "lib/searchlogic/modifiers/log10.rb", "lib/searchlogic/modifiers/log2.rb", "lib/searchlogic/modifiers/lower.rb", "lib/searchlogic/modifiers/ltrim.rb", "lib/searchlogic/modifiers/md5.rb", "lib/searchlogic/modifiers/microseconds.rb", "lib/searchlogic/modifiers/milliseconds.rb", "lib/searchlogic/modifiers/minute.rb", "lib/searchlogic/modifiers/month.rb", "lib/searchlogic/modifiers/octal.rb", "lib/searchlogic/modifiers/radians.rb", "lib/searchlogic/modifiers/round.rb", "lib/searchlogic/modifiers/rtrim.rb", "lib/searchlogic/modifiers/second.rb", "lib/searchlogic/modifiers/sign.rb", "lib/searchlogic/modifiers/sin.rb", "lib/searchlogic/modifiers/square_root.rb", "lib/searchlogic/modifiers/tan.rb", "lib/searchlogic/modifiers/trim.rb", "lib/searchlogic/modifiers/upper.rb", "lib/searchlogic/modifiers/week.rb", "lib/searchlogic/modifiers/year.rb", "lib/searchlogic/search/base.rb", "lib/searchlogic/search/conditions.rb", "lib/searchlogic/search/ordering.rb", "lib/searchlogic/search/pagination.rb", "lib/searchlogic/search/protection.rb", "lib/searchlogic/search/searching.rb", "lib/searchlogic/shared/utilities.rb", "lib/searchlogic/shared/virtual_classes.rb", "lib/searchlogic/version.rb", "lib/searchlogic.rb", "README.rdoc", "TODO.rdoc"]
|
13
|
+
s.files = ["CHANGELOG.rdoc", "init.rb", "lib/searchlogic/active_record/associations.rb", "lib/searchlogic/active_record/base.rb", "lib/searchlogic/active_record/connection_adapters/mysql_adapter.rb", "lib/searchlogic/active_record/connection_adapters/postgresql_adapter.rb", "lib/searchlogic/active_record/connection_adapters/sqlite_adapter.rb", "lib/searchlogic/condition/base.rb", "lib/searchlogic/condition/begins_with.rb", "lib/searchlogic/condition/blank.rb", "lib/searchlogic/condition/child_of.rb", "lib/searchlogic/condition/descendant_of.rb", "lib/searchlogic/condition/ends_with.rb", "lib/searchlogic/condition/equals.rb", "lib/searchlogic/condition/greater_than.rb", "lib/searchlogic/condition/greater_than_or_equal_to.rb", "lib/searchlogic/condition/inclusive_descendant_of.rb", "lib/searchlogic/condition/keywords.rb", "lib/searchlogic/condition/less_than.rb", "lib/searchlogic/condition/less_than_or_equal_to.rb", "lib/searchlogic/condition/like.rb", "lib/searchlogic/condition/nil.rb", "lib/searchlogic/condition/not_begin_with.rb", "lib/searchlogic/condition/not_blank.rb", "lib/searchlogic/condition/not_end_with.rb", "lib/searchlogic/condition/not_equal.rb", "lib/searchlogic/condition/not_have_keywords.rb", "lib/searchlogic/condition/not_like.rb", "lib/searchlogic/condition/not_nil.rb", "lib/searchlogic/condition/sibling_of.rb", "lib/searchlogic/condition/tree.rb", "lib/searchlogic/conditions/any_or_all.rb", "lib/searchlogic/conditions/base.rb", "lib/searchlogic/conditions/groups.rb", "lib/searchlogic/conditions/magic_methods.rb", "lib/searchlogic/conditions/multiparameter_attributes.rb", "lib/searchlogic/conditions/protection.rb", "lib/searchlogic/config/helpers.rb", "lib/searchlogic/config/search.rb", "lib/searchlogic/config.rb", "lib/searchlogic/core_ext/hash.rb", "lib/searchlogic/helpers/control_types/link.rb", "lib/searchlogic/helpers/control_types/links.rb", "lib/searchlogic/helpers/control_types/remote_link.rb", "lib/searchlogic/helpers/control_types/remote_links.rb", "lib/searchlogic/helpers/control_types/remote_select.rb", "lib/searchlogic/helpers/control_types/select.rb", "lib/searchlogic/helpers/form.rb", "lib/searchlogic/helpers/utilities.rb", "lib/searchlogic/modifiers/absolute.rb", "lib/searchlogic/modifiers/acos.rb", "lib/searchlogic/modifiers/asin.rb", "lib/searchlogic/modifiers/atan.rb", "lib/searchlogic/modifiers/base.rb", "lib/searchlogic/modifiers/ceil.rb", "lib/searchlogic/modifiers/char_length.rb", "lib/searchlogic/modifiers/cos.rb", "lib/searchlogic/modifiers/cot.rb", "lib/searchlogic/modifiers/day_of_month.rb", "lib/searchlogic/modifiers/day_of_week.rb", "lib/searchlogic/modifiers/day_of_year.rb", "lib/searchlogic/modifiers/degrees.rb", "lib/searchlogic/modifiers/exp.rb", "lib/searchlogic/modifiers/floor.rb", "lib/searchlogic/modifiers/hex.rb", "lib/searchlogic/modifiers/hour.rb", "lib/searchlogic/modifiers/log.rb", "lib/searchlogic/modifiers/log10.rb", "lib/searchlogic/modifiers/log2.rb", "lib/searchlogic/modifiers/lower.rb", "lib/searchlogic/modifiers/ltrim.rb", "lib/searchlogic/modifiers/md5.rb", "lib/searchlogic/modifiers/microseconds.rb", "lib/searchlogic/modifiers/milliseconds.rb", "lib/searchlogic/modifiers/minute.rb", "lib/searchlogic/modifiers/month.rb", "lib/searchlogic/modifiers/octal.rb", "lib/searchlogic/modifiers/radians.rb", "lib/searchlogic/modifiers/round.rb", "lib/searchlogic/modifiers/rtrim.rb", "lib/searchlogic/modifiers/second.rb", "lib/searchlogic/modifiers/sign.rb", "lib/searchlogic/modifiers/sin.rb", "lib/searchlogic/modifiers/square_root.rb", "lib/searchlogic/modifiers/tan.rb", "lib/searchlogic/modifiers/trim.rb", "lib/searchlogic/modifiers/upper.rb", "lib/searchlogic/modifiers/week.rb", "lib/searchlogic/modifiers/year.rb", "lib/searchlogic/search/base.rb", "lib/searchlogic/search/conditions.rb", "lib/searchlogic/search/ordering.rb", "lib/searchlogic/search/pagination.rb", "lib/searchlogic/search/protection.rb", "lib/searchlogic/search/searching.rb", "lib/searchlogic/shared/utilities.rb", "lib/searchlogic/shared/virtual_classes.rb", "lib/searchlogic/version.rb", "lib/searchlogic.rb", "Manifest", "MIT-LICENSE", "Rakefile", "README.rdoc", "test/active_record_tests/associations_test.rb", "test/active_record_tests/base_test.rb", "test/condition_tests/base_test.rb", "test/condition_tests/begins_with_test.rb", "test/condition_tests/blank_test.rb", "test/condition_tests/child_of_test.rb", "test/condition_tests/descendant_of_test.rb", "test/condition_tests/ends_with_test.rb", "test/condition_tests/equals_test.rb", "test/condition_tests/greater_than_or_equal_to_test.rb", "test/condition_tests/greater_than_test.rb", "test/condition_tests/inclusive_descendant_of_test.rb", "test/condition_tests/keywords_test.rb", "test/condition_tests/less_than_or_equal_to_test.rb", "test/condition_tests/less_than_test.rb", "test/condition_tests/like_test.rb", "test/condition_tests/nil_test.rb", "test/condition_tests/not_begin_with_test.rb", "test/condition_tests/not_blank_test.rb", "test/condition_tests/not_end_with_test.rb", "test/condition_tests/not_equal_test.rb", "test/condition_tests/not_have_keywords_test.rb", "test/condition_tests/not_like_test.rb", "test/condition_tests/not_nil_test.rb", "test/condition_tests/sibling_of_test.rb", "test/conditions_tests/any_or_all_test.rb", "test/conditions_tests/base_test.rb", "test/conditions_tests/groups_test.rb", "test/conditions_tests/magic_methods_test.rb", "test/conditions_tests/multiparameter_attributes_test.rb", "test/conditions_tests/protection_test.rb", "test/config_test.rb", "test/fixtures/accounts.yml", "test/fixtures/animals.yml", "test/fixtures/orders.yml", "test/fixtures/user_groups.yml", "test/fixtures/users.yml", "test/libs/acts_as_tree.rb", "test/libs/rexml_fix.rb", "test/modifier_tests/day_of_month_test.rb", "test/search_tests/base_test.rb", "test/search_tests/conditions_test.rb", "test/search_tests/ordering_test.rb", "test/search_tests/pagination_test.rb", "test/search_tests/protection_test.rb", "test/test_helper.rb", "TODO.rdoc", "searchlogic.gemspec"]
|
14
14
|
s.has_rdoc = true
|
15
15
|
s.homepage = %q{http://github.com/binarylogic/searchlogic}
|
16
16
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Searchlogic", "--main", "README.rdoc"]
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.rubyforge_project = %q{searchlogic}
|
19
19
|
s.rubygems_version = %q{1.3.1}
|
20
20
|
s.summary = %q{Object based ActiveRecord searching, ordering, pagination, and more!}
|
21
|
-
s.test_files = ["test/active_record_tests/associations_test.rb", "test/active_record_tests/base_test.rb", "test/condition_tests/base_test.rb", "test/condition_tests/begins_with_test.rb", "test/condition_tests/blank_test.rb", "test/condition_tests/child_of_test.rb", "test/condition_tests/descendant_of_test.rb", "test/condition_tests/ends_with_test.rb", "test/condition_tests/equals_test.rb", "test/condition_tests/greater_than_or_equal_to_test.rb", "test/condition_tests/greater_than_test.rb", "test/condition_tests/inclusive_descendant_of_test.rb", "test/condition_tests/keywords_test.rb", "test/condition_tests/less_than_or_equal_to_test.rb", "test/condition_tests/less_than_test.rb", "test/condition_tests/like_test.rb", "test/condition_tests/nil_test.rb", "test/condition_tests/not_begin_with_test.rb", "test/condition_tests/not_blank_test.rb", "test/condition_tests/not_end_with_test.rb", "test/condition_tests/not_equal_test.rb", "test/condition_tests/not_have_keywords_test.rb", "test/condition_tests/not_like_test.rb", "test/condition_tests/not_nil_test.rb", "test/condition_tests/sibling_of_test.rb", "test/conditions_tests/any_or_all_test.rb", "test/conditions_tests/base_test.rb", "test/conditions_tests/groups_test.rb", "test/conditions_tests/magic_methods_test.rb", "test/conditions_tests/protection_test.rb", "test/config_test.rb", "test/modifier_tests/day_of_month_test.rb", "test/search_tests/base_test.rb", "test/search_tests/conditions_test.rb", "test/search_tests/ordering_test.rb", "test/search_tests/pagination_test.rb", "test/search_tests/protection_test.rb", "test/test_helper.rb"]
|
21
|
+
s.test_files = ["test/active_record_tests/associations_test.rb", "test/active_record_tests/base_test.rb", "test/condition_tests/base_test.rb", "test/condition_tests/begins_with_test.rb", "test/condition_tests/blank_test.rb", "test/condition_tests/child_of_test.rb", "test/condition_tests/descendant_of_test.rb", "test/condition_tests/ends_with_test.rb", "test/condition_tests/equals_test.rb", "test/condition_tests/greater_than_or_equal_to_test.rb", "test/condition_tests/greater_than_test.rb", "test/condition_tests/inclusive_descendant_of_test.rb", "test/condition_tests/keywords_test.rb", "test/condition_tests/less_than_or_equal_to_test.rb", "test/condition_tests/less_than_test.rb", "test/condition_tests/like_test.rb", "test/condition_tests/nil_test.rb", "test/condition_tests/not_begin_with_test.rb", "test/condition_tests/not_blank_test.rb", "test/condition_tests/not_end_with_test.rb", "test/condition_tests/not_equal_test.rb", "test/condition_tests/not_have_keywords_test.rb", "test/condition_tests/not_like_test.rb", "test/condition_tests/not_nil_test.rb", "test/condition_tests/sibling_of_test.rb", "test/conditions_tests/any_or_all_test.rb", "test/conditions_tests/base_test.rb", "test/conditions_tests/groups_test.rb", "test/conditions_tests/magic_methods_test.rb", "test/conditions_tests/multiparameter_attributes_test.rb", "test/conditions_tests/protection_test.rb", "test/config_test.rb", "test/modifier_tests/day_of_month_test.rb", "test/search_tests/base_test.rb", "test/search_tests/conditions_test.rb", "test/search_tests/ordering_test.rb", "test/search_tests/pagination_test.rb", "test/search_tests/protection_test.rb", "test/test_helper.rb"]
|
22
22
|
|
23
23
|
if s.respond_to? :specification_version then
|
24
24
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
@@ -37,15 +37,13 @@ module ConditionsTests
|
|
37
37
|
now = Time.now
|
38
38
|
conditions = Searchlogic::Cache::AccountConditions.new([
|
39
39
|
{:id_gt => 3},
|
40
|
+
{:group => {:name_like => "Binary"}},
|
40
41
|
{:group => [
|
41
|
-
{:
|
42
|
-
[
|
43
|
-
{:
|
44
|
-
{:
|
45
|
-
|
46
|
-
:created_at_after => now
|
47
|
-
}}
|
48
|
-
]
|
42
|
+
{:id_gt => 5},
|
43
|
+
{:group => [
|
44
|
+
{:id_lt => 20},
|
45
|
+
{:created_at_after => now}
|
46
|
+
]}
|
49
47
|
]}
|
50
48
|
])
|
51
49
|
assert_equal ["\"accounts\".\"id\" > ? AND (\"accounts\".\"name\" LIKE ?) AND (\"accounts\".\"id\" > ? AND (\"accounts\".\"id\" < ? AND \"accounts\".\"created_at\" > ?))", 3, "%Binary%", 5, 20, now], conditions.sanitize
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
+
|
3
|
+
module ConditionsTests
|
4
|
+
class MultiparameterAttributesTest < ActiveSupport::TestCase
|
5
|
+
def test_conditions
|
6
|
+
values = {"created_at(1i)" => "2004", "created_at(2i)" => "6", "created_at(3i)" => "24"}
|
7
|
+
conditions = Searchlogic::Cache::AccountConditions.new(values)
|
8
|
+
assert_equal ["\"accounts\".\"created_at\" = ?", Time.parse("Jun 24, 2004")], conditions.sanitize
|
9
|
+
|
10
|
+
values = {"created_at_gt(1i)" => "2004", "created_at_gt(2i)" => "6", "created_at_gt(3i)" => "24"}
|
11
|
+
conditions = Searchlogic::Cache::AccountConditions.new(values)
|
12
|
+
assert_equal ["\"accounts\".\"created_at\" > ?", Time.parse("Jun 24, 2004")], conditions.sanitize
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: searchlogic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Johnson of Binary Logic
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-12-03 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -83,6 +83,7 @@ extra_rdoc_files:
|
|
83
83
|
- lib/searchlogic/conditions/base.rb
|
84
84
|
- lib/searchlogic/conditions/groups.rb
|
85
85
|
- lib/searchlogic/conditions/magic_methods.rb
|
86
|
+
- lib/searchlogic/conditions/multiparameter_attributes.rb
|
86
87
|
- lib/searchlogic/conditions/protection.rb
|
87
88
|
- lib/searchlogic/config/helpers.rb
|
88
89
|
- lib/searchlogic/config/search.rb
|
@@ -184,6 +185,7 @@ files:
|
|
184
185
|
- lib/searchlogic/conditions/base.rb
|
185
186
|
- lib/searchlogic/conditions/groups.rb
|
186
187
|
- lib/searchlogic/conditions/magic_methods.rb
|
188
|
+
- lib/searchlogic/conditions/multiparameter_attributes.rb
|
187
189
|
- lib/searchlogic/conditions/protection.rb
|
188
190
|
- lib/searchlogic/config/helpers.rb
|
189
191
|
- lib/searchlogic/config/search.rb
|
@@ -280,6 +282,7 @@ files:
|
|
280
282
|
- test/conditions_tests/base_test.rb
|
281
283
|
- test/conditions_tests/groups_test.rb
|
282
284
|
- test/conditions_tests/magic_methods_test.rb
|
285
|
+
- test/conditions_tests/multiparameter_attributes_test.rb
|
283
286
|
- test/conditions_tests/protection_test.rb
|
284
287
|
- test/config_test.rb
|
285
288
|
- test/fixtures/accounts.yml
|
@@ -359,6 +362,7 @@ test_files:
|
|
359
362
|
- test/conditions_tests/base_test.rb
|
360
363
|
- test/conditions_tests/groups_test.rb
|
361
364
|
- test/conditions_tests/magic_methods_test.rb
|
365
|
+
- test/conditions_tests/multiparameter_attributes_test.rb
|
362
366
|
- test/conditions_tests/protection_test.rb
|
363
367
|
- test/config_test.rb
|
364
368
|
- test/modifier_tests/day_of_month_test.rb
|