class RocketPaysRailsApi::Request

Attributes

params[RW]

Set params

resource[RW]

Set link

Public Class Methods

get!(options = {}) click to toggle source
# File lib/rocket_pays_rails_api/request.rb, line 14
def self.get!(options = {})
  self.new(options).get
end
post!(options = {}) click to toggle source

return json

# File lib/rocket_pays_rails_api/request.rb, line 10
def self.post!(options = {})
  self.new(options).post
end

Public Instance Methods

get() click to toggle source
# File lib/rocket_pays_rails_api/request.rb, line 29
def get
  @url = URI.parse("#{RocketPaysRailsApi.link}/#{self.resource}/#{self.params}")
  
  request = Net::HTTP::Get.new(@url.path)
  request.basic_auth RocketPaysRailsApi.email, RocketPaysRailsApi.token
  request.content_type = "application/json"

  return JSON.parse(http_start(request).body)
end
post() click to toggle source
# File lib/rocket_pays_rails_api/request.rb, line 18
def post
  @url = URI.parse("#{RocketPaysRailsApi.link}/#{self.resource}")

  request = Net::HTTP::Post.new(@url.path)
  request.basic_auth RocketPaysRailsApi.email, RocketPaysRailsApi.token
  request.body = self.params
  request.content_type = "application/json"

  return JSON.parse(http_start(request).body)
end

Private Instance Methods

http_start(request) click to toggle source
# File lib/rocket_pays_rails_api/request.rb, line 45
def http_start(request)
  Net::HTTP.start(@url.host, @url.port, use_ssl: use_ssl?) { |http| http.request(request) }
end
use_ssl?() click to toggle source
# File lib/rocket_pays_rails_api/request.rb, line 41
def use_ssl?
  RocketPaysRailsApi.production?
end