class Fakturoid::Request

Constants

HTTP_METHODS

Attributes

caller[R]
method[R]
path[R]

Public Class Methods

new(method, path, caller) click to toggle source
# File lib/fakturoid/request.rb, line 8
def initialize(method, path, caller)
  @method = method
  @path   = path
  @caller = caller
end

Public Instance Methods

call(params = {}) click to toggle source
# File lib/fakturoid/request.rb, line 14
def call(params = {})
  raise ArgumentError, "Unknown http method: #{method}" unless HTTP_METHODS.include?(method.to_sym)

  request_params = params[:request_params] || {}

  http_connection = connection(params)
  response = http_connection.send(method) do |req|
    req.url path, request_params
    req.headers['X-Client-Env'] = "Ruby #{RUBY_VERSION}"
    req.body = MultiJson.dump(params[:payload]) if params.key?(:payload)
  end
  Response.new(response, caller, method)
end