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.
132 133 134 135 136 |
# File 'lib/tire/search/query.rb', line 132 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
138 139 140 141 |
# File 'lib/tire/search/query.rb', line 138 def must(&block) (@value[:must] ||= []) << Query.new(&block).to_hash @value end |
#must_not(&block) ⇒ Object
143 144 145 146 |
# File 'lib/tire/search/query.rb', line 143 def must_not(&block) (@value[:must_not] ||= []) << Query.new(&block).to_hash @value end |
#should(&block) ⇒ Object
148 149 150 151 |
# File 'lib/tire/search/query.rb', line 148 def should(&block) (@value[:should] ||= []) << Query.new(&block).to_hash @value end |
#to_hash ⇒ Object
153 154 155 |
# File 'lib/tire/search/query.rb', line 153 def to_hash @value.update(@options) end |