class Oak::Request

Constants

DEFAULT_HEADERS

Attributes

args[R]
base_url[R]
debug[R]
headers[R]
options[R]

Public Class Methods

new(args) click to toggle source
# File lib/oak_api.rb, line 44
def initialize(args)
  @options = Options.parse(args)
  @args = args
  @base_url = development? ? 'http://localhost:3000' : 'https://oak.software'
  @options[:headers] = @options[:headers].to_h.merge({'authorization' => ENV['OAK_API_KEY_DEVEL']}) if development?
  @headers = DEFAULT_HEADERS.merge(@options[:headers].to_h)
  @debug = @options[:debug]
  info self if @debug
end

Public Instance Methods

development?() click to toggle source
# File lib/oak_api.rb, line 54
def development?
  @options[:environment] == 'development'
end
go() click to toggle source
# File lib/oak_api.rb, line 58
def go
  if @options[:list]
    args.unshift(?g, "endpoints")
  end

  req = HTTP.new(args, base_url, options[:api], headers, debug).set_request

  info [req, req.uri, req.uri.host, req.uri.port, req.body] if debug
  info req.to_hash if debug

  http = Net::HTTP.new(req.uri.host, req.uri.port)
  http.use_ssl = true unless development?
  res = http.request(req)

  puts res.body
end