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.



138
139
140
141
# File 'lib/tire/search/query.rb', line 138

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



148
149
150
151
152
153
# File 'lib/tire/search/query.rb', line 148

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

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



143
144
145
146
# File 'lib/tire/search/query.rb', line 143

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

#to_hashObject



155
156
157
# File 'lib/tire/search/query.rb', line 155

def to_hash
  @value
end

#to_jsonObject



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

def to_json
  to_hash.to_json
end