class BlackVulture::Client
Attributes
email[RW]
token[RW]
Public Class Methods
new(email, token)
click to toggle source
# File lib/black_vulture_client.rb, line 8 def initialize(email, token) @email = email @token = token end
Public Instance Methods
create_fact(payload)
click to toggle source
# File lib/black_vulture_client.rb, line 26 def create_fact(payload) uri = uri('/facts.json') response = post(uri, payload) JSON.parse(response.body) end
create_report(line, query)
click to toggle source
# File lib/black_vulture_client.rb, line 20 def create_report(line, query) uri = uri_for_report(line, query) response = get(uri) JSON.parse(response.body) end
list_facts(line)
click to toggle source
# File lib/black_vulture_client.rb, line 13 def list_facts(line) url_path = "/facts/#{line}.json" uri = uri(url_path) response = get(uri) JSON.parse(response.body) end
update_fact(payload)
click to toggle source
# File lib/black_vulture_client.rb, line 32 def update_fact(payload) uri = uri('/facts/update.json') response = post(uri, payload) JSON.parse(response.body) end
Private Instance Methods
build_http(uri)
click to toggle source
# File lib/black_vulture_client.rb, line 57 def build_http(uri) Net::HTTP.new(uri.host, uri.port) end
get(uri)
click to toggle source
# File lib/black_vulture_client.rb, line 61 def get(uri) build_http(uri).get(uri.request_uri, headers) end
headers()
click to toggle source
# File lib/black_vulture_client.rb, line 40 def headers { 'X-User-Token' => @token, 'X-User-Email' => @email, 'Accept' => 'application/json', 'Content-Type' => 'application/json' } end
host()
click to toggle source
# File lib/black_vulture_client.rb, line 49 def host ENV["BLACK_VULTURE_URL"] || "http://52.32.38.238" end
post(uri, payload)
click to toggle source
# File lib/black_vulture_client.rb, line 65 def post(uri, payload) build_http(uri).post(uri.path, payload.to_json, headers) end
uri(name)
click to toggle source
# File lib/black_vulture_client.rb, line 53 def uri(name) URI.parse("#{host}#{name}") end
uri_for_report(line, query)
click to toggle source
# File lib/black_vulture_client.rb, line 69 def uri_for_report(line, query) URI.parse("#{host}/reports/#{line}#{query}") end