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.
136 137 138 139 140 |
# File 'lib/tire/search/query.rb', line 136 def initialize(={}, &block) = @value = {} block.arity < 1 ? self.instance_eval(&block) : block.call(self) if block_given? end |
Instance Method Details
#must(&block) ⇒ Object
142 143 144 145 |
# File 'lib/tire/search/query.rb', line 142 def must(&block) (@value[:must] ||= []) << Query.new(&block).to_hash @value end |
#must_not(&block) ⇒ Object
147 148 149 150 |
# File 'lib/tire/search/query.rb', line 147 def must_not(&block) (@value[:must_not] ||= []) << Query.new(&block).to_hash @value end |
#should(&block) ⇒ Object
152 153 154 155 |
# File 'lib/tire/search/query.rb', line 152 def should(&block) (@value[:should] ||= []) << Query.new(&block).to_hash @value end |
#to_hash ⇒ Object
157 158 159 |
# File 'lib/tire/search/query.rb', line 157 def to_hash @value.update() end |