# File lib/tire/search/queries/custom_filters_score.rb, line 88 def initialize(&block) @value = {} block.arity < 1 ? self.instance_eval(&block) : block.call(self) if block_given? end
# File lib/tire/search/queries/custom_filters_score.rb, line 98 def filter(&block) custom_filter = CustomFilter.new block.arity < 1 ? custom_filter.instance_eval(&block) : block.call(custom_filter) if block_given? @value[:filters] ||= [] @value[:filters] << custom_filter.to_hash @value end
# File lib/tire/search/queries/custom_filters_score.rb, line 111 def params(value) @value[:params] = value @value end
# File lib/tire/search/queries/custom_filters_score.rb, line 93 def query(options={}, &block) @value[:query] = Query.new(&block).to_hash @value end
# File lib/tire/search/queries/custom_filters_score.rb, line 106 def score_mode(value) @value[:score_mode] = value @value end
# File lib/tire/search/queries/custom_filters_score.rb, line 116 def to_hash @value[:filters] ? @value : @value.merge(:filters => [CustomFilter.new{ filter(:match_all); boost(1) }.to_hash]) # Needs at least one filter end
# File lib/tire/search/queries/custom_filters_score.rb, line 122 def to_json to_hash.to_json end