class PopulationGrowth::LocationsConnection

Attributes

connection[R]

Public Class Methods

new(connection:) click to toggle source
# File lib/population_growth/locations_connection.rb, line 5
def initialize(connection:)
  @connection = connection
end

Public Instance Methods

find(zip:) click to toggle source
# File lib/population_growth/locations_connection.rb, line 9
def find(zip:)
  resp = connection.get("api/v1/locations/#{zip}")
  raise_api_error(resp) unless resp.success?
  location_data = MultiJson.load(resp.body)['location']
  Location.new(location_data)
end

Private Instance Methods

raise_api_error(resp) click to toggle source
# File lib/population_growth/locations_connection.rb, line 18
def raise_api_error(resp)
  status = resp.status
  reason = resp.reason_phrase
  fail PopulationGrowth::ApiError, "#{status}: #{reason}"
end