Class: Gateway

Inherits:
Object
  • Object
show all
Defined in:
lib/gatekeeper_api_client/gateway.rb

Direct Known Subclasses

RetryingGateway

Constant Summary collapse

ENDPOINTS =
{ Transit: "transits",
Employee: "employees" }.freeze

Instance Method Summary collapse

Constructor Details

#initialize(object) ⇒ Gateway

Returns a new instance of Gateway.



5
6
7
# File 'lib/gatekeeper_api_client/gateway.rb', line 5

def initialize(object)
  @object = object
end

Instance Method Details

#postObject

Raises:



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/gatekeeper_api_client/gateway.rb', line 9

def post
  uri = URI.parse("#{ENV["GATEKEEPER_URL"]}/api/#{ENDPOINTS[@object.class.name.to_sym]}")
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  request = Net::HTTP::Post.new(uri.request_uri)
  request.content_type = "application/json"
  request["Authorization"] = "Bearer #{ENV["GATEKEEPER_API_KEY"]}"
  request.body = JSON.generate(@object.to_json)

  response = http.request(request)

  raise ClientError, response.body if Integer(response.code) != 201    
end