Sha256: 4209110766f8e894ddf3f02dda8e8736c8c9555b7e0dbfc7ff8f28f5efb73d8b

Contents?: true

Size: 1.44 KB

Versions: 36

Compression:

Stored size: 1.44 KB

Contents

require 'geocoder/results/base'

module Geocoder::Result
  class Geocodio < Base
    def number
      address_components["number"]
    end

    def street
      address_components["street"]
    end

    def suffix
      address_components["suffix"]
    end

    def street_address
      [number, address_components["formatted_street"]].compact.join(' ')
    end

    def state
      address_components["state"]
    end
    alias_method :state_code, :state

    def zip
      # Postal code is not returned for Canada geocode results
      address_components["zip"] || ""
    end
    alias_method :postal_code, :zip

    def country
      # Geocodio supports US and Canada, however they don't return the full
      # country name.

      if country_code == "CA"
        "Canada"
      else
        "United States"
      end
    end

    def country_code
      address_components['country']
    end

    def city
      address_components["city"]
    end

    def postdirectional
      address_components["postdirectional"]
    end

    def location
      @data['location']
    end

    def coordinates
      ['lat', 'lng'].map{ |i| location[i].to_f } if location
    end

    def accuracy
      @data['accuracy'].to_f if @data.key?('accuracy')
    end

    def formatted_address(format = :full)
      @data['formatted_address']
    end
    alias_method :address, :formatted_address

    private

    def address_components
      @data['address_components'] || {}
    end
  end
end

Version data entries

36 entries across 36 versions & 3 rubygems

Version Path
geocoder-1.8.5 lib/geocoder/results/geocodio.rb
geocoder-1.8.4 lib/geocoder/results/geocodio.rb
geocoder-1.8.3 lib/geocoder/results/geocodio.rb
geocoder-1.8.2 lib/geocoder/results/geocodio.rb
geocoder-1.8.1 lib/geocoder/results/geocodio.rb
geocoder-1.8.0 lib/geocoder/results/geocodio.rb
geocoder-1.7.5 lib/geocoder/results/geocodio.rb
geocoder-1.7.4 lib/geocoder/results/geocodio.rb
geocoder-1.7.3 lib/geocoder/results/geocodio.rb
geocoder-1.7.2 lib/geocoder/results/geocodio.rb
geocoder-1.7.1 lib/geocoder/results/geocodio.rb
geocoder-1.7.0 lib/geocoder/results/geocodio.rb
geocoder-1.6.7 lib/geocoder/results/geocodio.rb
geocoder-1.6.6 lib/geocoder/results/geocodio.rb
geocoder-1.6.5 lib/geocoder/results/geocodio.rb
geocoder-1.6.4 lib/geocoder/results/geocodio.rb
geocoder-1.6.3 lib/geocoder/results/geocodio.rb
geocoder-1.6.2 lib/geocoder/results/geocodio.rb
geocoder-1.6.1 lib/geocoder/results/geocodio.rb
geocoder-1.6.0 lib/geocoder/results/geocodio.rb