class Pingboard::Request

Attributes

body[RW]
client[RW]
headers[RW]
http_verb[RW]
params[RW]
path[RW]

Public Class Methods

new(client:, http_verb:, path:, headers:, body:, params: {}) click to toggle source
# File lib/pingboard/request.rb, line 6
def initialize(client:, http_verb:, path:, headers:, body:, params: {})
  @client = client
  @http_verb = http_verb
  @path = path
  @headers = headers
  @body = body
  @params = params
end

Public Instance Methods

do() click to toggle source
# File lib/pingboard/request.rb, line 15
def do
  @client.connection.public_send(@http_verb) do |request|
    request.url "#{@path}"
    set_headers!(request) if headers
    set_body!(request) if body
    set_params!(request) if params
  end
end

Private Instance Methods

set_body!(request) click to toggle source
# File lib/pingboard/request.rb, line 26
def set_body!(request)
  request.body = body
end
set_headers!(request) click to toggle source
# File lib/pingboard/request.rb, line 30
def set_headers!(request)
  headers.each { |key, value| request.headers["#{key}"] = value }
end
set_params!(request) click to toggle source
# File lib/pingboard/request.rb, line 34
def set_params!(request)
  params.each { |key, value| request.params["#{key}"] = value }
end