Class: Tire::Search::CustomFiltersScore::CustomFiltersScoreQuery
- Inherits:
-
Object
- Object
- Tire::Search::CustomFiltersScore::CustomFiltersScoreQuery
- Defined in:
- lib/tire/queries/custom_filters_score/custom_filters_score.rb
Defined Under Namespace
Classes: CustomFilter
Instance Method Summary collapse
- #filter(&block) ⇒ Object
-
#initialize(&block) ⇒ CustomFiltersScoreQuery
constructor
A new instance of CustomFiltersScoreQuery.
- #params(value) ⇒ Object
- #query(options = {}, &block) ⇒ Object
- #score_mode(value) ⇒ Object
- #to_hash ⇒ Object
- #to_json ⇒ Object
Constructor Details
#initialize(&block) ⇒ CustomFiltersScoreQuery
Returns a new instance of CustomFiltersScoreQuery.
44 45 46 47 |
# File 'lib/tire/queries/custom_filters_score/custom_filters_score.rb', line 44 def initialize(&block) @value = {} block.arity < 1 ? self.instance_eval(&block) : block.call(self) if block_given? end |
Instance Method Details
#filter(&block) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/tire/queries/custom_filters_score/custom_filters_score.rb', line 54 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 |
#params(value) ⇒ Object
67 68 69 70 |
# File 'lib/tire/queries/custom_filters_score/custom_filters_score.rb', line 67 def params(value) @value[:params] = value @value end |
#query(options = {}, &block) ⇒ Object
49 50 51 52 |
# File 'lib/tire/queries/custom_filters_score/custom_filters_score.rb', line 49 def query(={}, &block) @value[:query] = Query.new(&block).to_hash @value end |
#score_mode(value) ⇒ Object
62 63 64 65 |
# File 'lib/tire/queries/custom_filters_score/custom_filters_score.rb', line 62 def score_mode(value) @value[:score_mode] = value @value end |
#to_hash ⇒ Object
72 73 74 75 76 |
# File 'lib/tire/queries/custom_filters_score/custom_filters_score.rb', line 72 def to_hash @value[:filters] ? @value : @value.merge(:filters => [CustomFilter.new{ filter(:match_all); boost(1) }.to_hash]) # Needs at least one filter end |
#to_json ⇒ Object
78 79 80 |
# File 'lib/tire/queries/custom_filters_score/custom_filters_score.rb', line 78 def to_json to_hash.to_json end |