Sha256: 071867d51186bbf3b483a6167b2c2cf2481d15eb0f9165738e858db5035286f0
Contents?: true
Size: 929 Bytes
Versions: 2
Compression:
Stored size: 929 Bytes
Contents
require 'open-uri' module BookingLocations class Api def get(id) response = open("#{api_uri}/api/v1/booking_locations/#{id}.json", headers_and_options) yield JSON.parse(response.read) rescue OpenURI::HTTPError, Net::ReadTimeout nil end def all response = open("#{api_uri}/api/v1/booking_locations.json", headers_and_options) JSON.parse(response.read) end private def headers_and_options {}.tap do |hash| hash[:read_timeout] = read_timeout hash['Authorization'] = "Bearer #{bearer_token}" if bearer_token hash['Accept'] = 'application/json' end end def bearer_token ENV['BOOKING_LOCATIONS_API_BEARER_TOKEN'] end def api_uri ENV.fetch('BOOKING_LOCATIONS_API_URI', 'http://localhost:3001') end def read_timeout ENV.fetch('BOOKING_LOCATIONS_API_READ_TIMEOUT', 5).to_i end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
booking_locations-0.19.0 | lib/booking_locations/api.rb |
booking_locations-0.18.0 | lib/booking_locations/api.rb |