class Tire::SuggestPlugin::Suggest
Public Class Methods
new(indices=nil, options={}, &block)
click to toggle source
# File lib/tire/suggest_plugin.rb, line 10 def initialize(indices=nil, options={}, &block) @indices = Array(indices) @params = Params.new(options) if block_given? block.arity < 1 ? @params.instance_eval(&block) : block.call(@params) end end
Public Instance Methods
perform()
click to toggle source
# File lib/tire/suggest_plugin.rb, line 23 def perform response = Tire::Configuration.client.get(self.url, @params.to_json) if response.failure? STDERR.puts "[REQUEST FAILED] #{self.to_curl}\n" raise SuggestRequestFailed, response.to_s end @suggestions = Suggestions.new(MultiJson.load(response.body)) end
suggestions()
click to toggle source
# File lib/tire/suggest_plugin.rb, line 19 def suggestions @suggestions or (perform and @suggestions) end
to_curl()
click to toggle source
# File lib/tire/suggest_plugin.rb, line 37 def to_curl params_to_json_escaped = @params.to_json.gsub("'", '\u0027') "curl -X GET '#{url}' -d '#{params_to_json_escaped}'" end
url()
click to toggle source
# File lib/tire/suggest_plugin.rb, line 32 def url path = ['/', @indices.join(','), '__suggest'].join('/').squeeze('/') Tire::Configuration.url + path end