Sha256: 2866be40a582bfb4d7b145fdea7d81f40f2eb8fc1ea52713cd3b901e5d00c9cb

Contents?: true

Size: 936 Bytes

Versions: 3

Compression:

Stored size: 936 Bytes

Contents

module RestClient
  BASE_URL = 'https://service.blackbookcloud.com'.freeze

  def headers
    token = Base64.encode64("#{username}:#{password}")
    { Authorization: "Basic #{token}" }
  end

  def process_response(response)
    status = 200

    if response['error_count'].positive?
      response = { error: response['message_list'][0]['description'] }
      status = 400
    else
      response = map_fields(response)
    end

    [response, status]
  end

  def map_fields(response)
    return {} unless response && response['used_vehicles'] && response['used_vehicles']['used_vehicle_list']
    vehicle_range = response['used_vehicles']['used_vehicle_list'][0]

    return {
      range: {
        xclean: vehicle_range['adjusted_whole_xclean'],
        clean: vehicle_range['adjusted_whole_clean'],
        average: vehicle_range['adjusted_whole_avg'],
        rough: vehicle_range['adjusted_whole_rough']
      }
    }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
blackbook_client-0.1.5 lib/rest_client.rb
blackbook_client-0.1.3 lib/rest_client.rb
blackbook_client-0.1.2 lib/rest_client.rb