@@ -11,7 +11,9 @@ def rebuild_index(name = nil)
11
11
end
12
12
end
13
13
14
- def self . included ( base ) ; base . extend ( ClassMethods ) ; end
14
+ def self . included ( base )
15
+ base . extend ( ClassMethods )
16
+ end
15
17
16
18
class Search
17
19
def initialize ( context , query = nil , scope = nil , sort = nil , facet = nil , options = { } )
@@ -37,13 +39,17 @@ def execute
37
39
filter *fltr
38
40
end unless filter_criteria . nil?
39
41
40
- sort { by sort_criteria . to_tire } unless sort_criteria . nil?
42
+ sort do
43
+ sort_criteria . to_tire . each do |k |
44
+ by k
45
+ end
46
+ end unless sort_criteria . nil?
41
47
42
48
ap facets
43
49
ap facets . to_tire unless facets . nil?
44
50
eval ( facets . to_tire ) unless facets . nil?
45
51
46
- Rails . logger . debug "[search](#{ context . to_s } ):" + JSON . pretty_generate ( to_hash )
52
+ Rails . logger . debug "[search](#{ context . to_s } ):" + JSON . pretty_generate ( to_hash ) if ENV [ 'DEBUG' ]
47
53
end
48
54
rescue Tire ::Search ::SearchRequestFailed , Errno ::ECONNREFUSED
49
55
if @options [ :failover ] . nil?
@@ -53,9 +59,13 @@ def execute
53
59
end
54
60
end
55
61
56
- def sort_criteria ; @sort ; end
62
+ def sort_criteria
63
+ @sort
64
+ end
57
65
58
- def failover_strategy ; { failover : @context . order ( 'created_at DESC' ) } ; end
66
+ def failover_strategy
67
+ { failover : @context . order ( 'created_at DESC' ) }
68
+ end
59
69
60
70
class Scope
61
71
def initialize ( domain , object )
@@ -64,8 +74,13 @@ def initialize(domain, object)
64
74
@filter = to_hash
65
75
end
66
76
67
- def to_tire ; @filter ; end
68
- def to_hash ; { } ; end
77
+ def to_tire
78
+ @filter
79
+ end
80
+
81
+ def to_hash
82
+ { }
83
+ end
69
84
70
85
def <<( other )
71
86
@filter . deep_merge ( other . to_tire )
@@ -79,19 +94,27 @@ def initialize(fields, direction = 'desc')
79
94
@direction = direction
80
95
end
81
96
82
- def to_tire ; @fields . map { |field | { field => @direction } } ; end
97
+ def to_tire
98
+ @fields . map do |field |
99
+ { field => { order : @direction } }
100
+ end
101
+ end
102
+
103
+ alias_method :to_s , :to_tire
83
104
end
84
105
85
106
class Query
86
- def default_query ; '' ; end
107
+ def default_query ;
108
+ '' ;
109
+ end
87
110
88
111
def initialize ( query_string , default_operator = 'AND' , default_query_string = default_query )
89
112
@query_string = default_query_string + ' ' + query_string
90
113
@default_operator = default_operator
91
114
end
92
115
93
116
def to_tire
94
- [ :string , "#{ @query_string } " , { default_operator : "#{ @default_operator } " } ] unless @query_string . blank?
117
+ [ :string , "#{ @query_string } " , { default_operator : "#{ @default_operator } " } ] unless @query_string . blank?
95
118
end
96
119
end
97
120
@@ -111,7 +134,9 @@ def to_eval_form
111
134
"end"
112
135
end
113
136
114
- def to_tire ; @facet ; end
137
+ def to_tire
138
+ @facet
139
+ end
115
140
116
141
def <<( other_facet )
117
142
@facet << "\n " << other_facet . to_eval_form
0 commit comments