# File lib/tire/suggest/suggestion.rb, line 7 def initialize(name, &block) @name = name @value = {} block.arity < 1 ? self.instance_eval(&block) : block.call(self) if block_given? end
# File lib/tire/suggest/suggestion.rb, line 18 def completion(value, options={}) @value[:completion] = {:field => value}.update(options) self end
# File lib/tire/suggest/suggestion.rb, line 28 def phrase(field, options={}, &block) @value[:phrase] = PhraseSuggester.new(field, options, &block).to_hash self end
# File lib/tire/suggest/suggestion.rb, line 23 def term(value, options={}) @value[:term] = { :field => value }.update(options) self end
# File lib/tire/suggest/suggestion.rb, line 13 def text(value) @value[:text] = value self end
# File lib/tire/suggest/suggestion.rb, line 33 def to_hash {@name.to_sym => @value} end
# File lib/tire/suggest/suggestion.rb, line 37 def to_json(options={}) to_hash.to_json end