class Portcullis::APIClient

Public Class Methods

new(config_file_path) click to toggle source
# File lib/portcullis.rb, line 8
def initialize(config_file_path)
  @config = YAML::load_file(config_file_path)
end

Public Instance Methods

create_token(user_id) click to toggle source
# File lib/portcullis.rb, line 28
def create_token(user_id)
  success, response = post("tokens/create", {"uid": user_id})
end
destroy_token(user_id) click to toggle source
# File lib/portcullis.rb, line 32
def destroy_token(user_id)
  success, response = post("tokens/destroy", {"uid": user_id})
  unless success
    return response
  end
end
post(path, content) click to toggle source
# File lib/portcullis.rb, line 12
def post(path, content)
  uri = URI("https://portcullis.io/api/#{path}")
  req = Net::HTTP::Post.new(uri)
  req["X-PORTCULLIS-GATEWAY"] = @config["gateway"]
  req["X-PORTCULLIS-API-KEY"] = @config["api_key"]
  req.set_form_data(content)

  res = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => true) do |http|
    http.request(req)
  end

  response = JSON.parse(res.body)

  return response["success"], response
end
verify_token(user_id, token) click to toggle source
# File lib/portcullis.rb, line 39
def verify_token(user_id, token)
  success, response = post("tokens/verify", {"uid": user_id, "token": token})
  unless success
    return response
  end
end