Class: Tire::Search::FilteredQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/tire/search/query.rb

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ FilteredQuery

Returns a new instance of FilteredQuery.



158
159
160
161
# File 'lib/tire/search/query.rb', line 158

def initialize(&block)
  @value = {}
  block.arity < 1 ? self.instance_eval(&block) : block.call(self) if block_given?
end

Instance Method Details

#filter(type, *options) ⇒ Object



168
169
170
171
172
173
# File 'lib/tire/search/query.rb', line 168

def filter(type, *options)
  @value[:filter] ||= {}
  @value[:filter][:and] ||= []
  @value[:filter][:and] << Filter.new(type, *options).to_hash
  @value
end

#query(options = {}, &block) ⇒ Object



163
164
165
166
# File 'lib/tire/search/query.rb', line 163

def query(options={}, &block)
  @value[:query] = Query.new(&block).to_hash
  @value
end

#to_hashObject



175
176
177
# File 'lib/tire/search/query.rb', line 175

def to_hash
  @value
end

#to_json(options = {}) ⇒ Object



179
180
181
# File 'lib/tire/search/query.rb', line 179

def to_json(options={})
  to_hash.to_json
end