class Geocoder::Result::Mapbox

def address

def address
  [place_name, street, city, state, postal_code, country].compact.join(", ")
end

def city

def city
  @data['context'].map { |c| c['text'] if c['id'] =~ /place/ }.compact.first
end

def coordinates

def coordinates
  [latitude, longitude]
end

def country

def country
  @data['context'].map { |c| c['text'] if c['id'] =~ /country/ }.compact.first
end

def latitude

def latitude
  @latitude ||= @data["geometry"]["coordinates"].last.to_f
end

def longitude

def longitude
  @longitude ||= @data["geometry"]["coordinates"].first.to_f
end

def neighborhood

def neighborhood
  @data['context'].map { |c| c['text'] if c['id'] =~ /neighborhood/ }.compact.first
end

def place_name

def place_name
  @data['text']
end

def postal_code

def postal_code
  @data['context'].map { |c| c['text'] if c['id'] =~ /postcode/ }.compact.first
end

def state

def state
  @data['context'].map { |c| c['text'] if c['id'] =~ /region/ }.compact.first
end

def street

def street
  @data['properties']['address']
end