class Billogram::Request

Attributes

params[R]
type[R]
url[R]

Public Class Methods

new(type, url, params = {}) click to toggle source
# File lib/billogram/request.rb, line 7
def initialize(type, url, params = {})
  @url = url
  @type = type
  @params = params
end

Public Instance Methods

content() click to toggle source
# File lib/billogram/request.rb, line 13
def content
  case type
  when :post, :put
    { body: params.to_json }
  when :get
    { query: params }
  when :delete
    {}
  end
end
execute() click to toggle source
# File lib/billogram/request.rb, line 24
def execute
  response.success? ? response['data'] : raise_from(response)
end
raise_from(response) click to toggle source
# File lib/billogram/request.rb, line 28
def raise_from(response)
  raise Billogram::Error.from_response(response)
end
response() click to toggle source
# File lib/billogram/request.rb, line 32
def response
  @response ||= Billogram.client.send(type, "/#{url}", content)
end