Module: RemoteResource::PartyQuery

Extended by:
ActiveSupport::Concern
Included in:
Connection
Defined in:
lib/remote_resource/concerns/party_query.rb

Defined Under Namespace

Classes: ResponseException

Instance Method Summary collapse

Instance Method Details

#query(path, options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/remote_resource/concerns/party_query.rb', line 8

def query(path, options={})
  result = nil
  query_options = default_options.deep_merge(options.compact)
  time = Benchmark.ms do
    response = case options.delete(:http_method)
               when :post
                 post(path, query_options)
               else
                 get(path, query_options)
               end
    raise ResponseException.new(response.code, response) if response.code != 200
    result = response.parsed_response
  end
  result
ensure
  logger.debug "(#{time.try(:round, 1) || 'Failed'} ms) #{path} opts: #{query_options.except(:logger, :log_level, :log_format)}" if logger
end