class Groonga::Client::Request::Generic
Public Class Methods
new(parameters=nil, extensions=[])
click to toggle source
# File lib/groonga/client/request/generic.rb, line 21 def initialize(parameters=nil, extensions=[]) @parameters = parameters @extensions = extensions extend(*@extensions) unless @extensions.empty? end
Public Instance Methods
command_name()
click to toggle source
# File lib/groonga/client/request/generic.rb, line 27 def command_name self.class.command_name end
extensions(*modules, &block)
click to toggle source
# File lib/groonga/client/request/generic.rb, line 68 def extensions(*modules, &block) modules << Module.new(&block) if block if modules.empty? self else create_request(@parameters, @extensions | modules) end end
flags_parameter(name_or_names, value)
click to toggle source
# File lib/groonga/client/request/generic.rb, line 40 def flags_parameter(name_or_names, value) if name_or_names.is_a?(Array) names = name_or_names else names = [name_or_names] end add_parameter(OverwriteMerger, FlagsParameter.new(names, value)) end
parameter(name, value)
click to toggle source
# File lib/groonga/client/request/generic.rb, line 35 def parameter(name, value) add_parameter(OverwriteMerger, RequestParameter.new(name, value)) end
response()
click to toggle source
# File lib/groonga/client/request/generic.rb, line 31 def response @reponse ||= create_response end
to_parameters()
click to toggle source
# File lib/groonga/client/request/generic.rb, line 60 def to_parameters if @parameters.nil? {} else @parameters.to_parameters end end
values_parameter(name_or_names, values)
click to toggle source
# File lib/groonga/client/request/generic.rb, line 50 def values_parameter(name_or_names, values) if name_or_names.is_a?(Array) names = name_or_names else names = [name_or_names] end add_parameter(OverwriteMerger, ValuesParameter.new(names, values)) end
Private Instance Methods
add_parameter(merger_class, parameter)
click to toggle source
# File lib/groonga/client/request/generic.rb, line 78 def add_parameter(merger_class, parameter) merger = merger_class.new(@parameters, parameter) create_request(merger, @extensions) end
create_request(parameters, extensions)
click to toggle source
# File lib/groonga/client/request/generic.rb, line 83 def create_request(parameters, extensions) self.class.new(parameters, extensions) end
create_response()
click to toggle source
# File lib/groonga/client/request/generic.rb, line 87 def create_response open_client do |client| response = client.execute(command_name, to_parameters) raise ErrorResponse.new(response) unless response.success? response end end
open_client() { |client| ... }
click to toggle source
# File lib/groonga/client/request/generic.rb, line 95 def open_client Client.open do |client| yield(client) end end