class RAurora::Base

Attributes

api[R]
token[R]

Public Class Methods

new(base, api, token) click to toggle source
# File lib/r_aurora.rb, line 11
def initialize(base, api, token)
  @uri = URI(base)
  @uri.port = "16021"
  @api = api
  @token = token
end

Public Instance Methods

info() click to toggle source
# File lib/r_aurora.rb, line 18
def info
  req = ::Net::HTTP::Get.new(uri('',''))
  res = ::Net::HTTP.start(@uri.hostname, @uri.port) {|http|
    http.request(req)
  }
  JSON.parse res.body
end

Private Instance Methods

camel_case(method_name) click to toggle source
# File lib/r_aurora.rb, line 51
def camel_case(method_name)
  "#{method_name.to_s.split('_').collect(&:capitalize).join.sub(/^\w/) {$&.downcase}}"
end
http_request(req) click to toggle source
# File lib/r_aurora.rb, line 41
def http_request(req)
  ::Net::HTTP.start(@uri.hostname, @uri.port) {|http|
    http.request(req)
  }
end
method_missing(method_name, request_type, domain, payload=nil) click to toggle source
# File lib/r_aurora.rb, line 27
def method_missing(method_name, request_type, domain, payload=nil)
  api_endpoint = camel_case(method_name)
  case request_type
  when "get"
    req = ::Net::HTTP::Get.new(uri(domain, api_endpoint))
  when "put"
    req = ::Net::HTTP::Put.new(uri(domain, api_endpoint))
    req.body = payload.to_json
  end
  res = http_request(req)
  p res.code
  JSON.parse res.body rescue res.body
end
uri(domain, endpoint) click to toggle source
# File lib/r_aurora.rb, line 47
def uri(domain, endpoint)
  URI.join(@uri, @api, @token, domain, endpoint)
end