searchlogic 1.5.7 → 1.5.8
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 +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
|