Class: Tire::Search::BooleanQuery
- Inherits:
-
Object
- Object
- Tire::Search::BooleanQuery
- Defined in:
- lib/tire/search/query.rb
Instance Method Summary collapse
-
#initialize(options = {}, &block) ⇒ BooleanQuery
constructor
TODO: Try to get rid of multiple
should
,must
, etc invocations, and wrap queries directly:. - #must(&block) ⇒ Object
- #must_not(&block) ⇒ Object
- #should(&block) ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(options = {}, &block) ⇒ BooleanQuery
TODO: Try to get rid of multiple should
, must
, etc invocations, and wrap queries directly:
boolean do
should do
string 'foo'
string 'bar'
end
end
Inherit from Query, implement encode
method there, and overload it here, so it puts
queries in an Array instead of hash.
131 132 133 134 135 |
# File 'lib/tire/search/query.rb', line 131 def initialize(={}, &block) @options = @value = {} block.arity < 1 ? self.instance_eval(&block) : block.call(self) if block_given? end |
Instance Method Details
#must(&block) ⇒ Object
137 138 139 140 |
# File 'lib/tire/search/query.rb', line 137 def must(&block) (@value[:must] ||= []) << Query.new(&block).to_hash @value end |
#must_not(&block) ⇒ Object
142 143 144 145 |
# File 'lib/tire/search/query.rb', line 142 def must_not(&block) (@value[:must_not] ||= []) << Query.new(&block).to_hash @value end |
#should(&block) ⇒ Object
147 148 149 150 |
# File 'lib/tire/search/query.rb', line 147 def should(&block) (@value[:should] ||= []) << Query.new(&block).to_hash @value end |
#to_hash ⇒ Object
152 153 154 |
# File 'lib/tire/search/query.rb', line 152 def to_hash @value.update(@options) end |