Sha256: b3a9cedbebae58deb68432e3531c764ee8158e8afd7bb8bdd12ce5a403bc8249

Contents?: true

Size: 636 Bytes

Versions: 8

Compression:

Stored size: 636 Bytes

Contents

require_relative 'apis/yahoo_placefinder'

module Barometer
  module Query
    module Service
      class ToWoeId
        def initialize(query)
          @query = query
        end

        def call
          converted_query = query.get_conversion(:short_zipcode, :zipcode, :geocode, :unknown, :coordinates, :postalcode, :ipv4_address)
          return unless converted_query

          @payload = YahooPlacefinder::Api.new(converted_query).get
          parse_payload
        end

        private

        attr_reader :query, :payload

        def parse_payload
          payload.fetch('woeid')
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
barometer-0.9.7 lib/barometer/query/services/to_woe_id.rb
barometer-0.9.6 lib/barometer/query/services/to_woe_id.rb
barometer-0.9.5 lib/barometer/query/services/to_woe_id.rb
barometer-0.9.4 lib/barometer/query/services/to_woe_id.rb
barometer-0.9.3 lib/barometer/query/services/to_woe_id.rb
barometer-0.9.2 lib/barometer/query/services/to_woe_id.rb
barometer-0.9.1 lib/barometer/query/services/to_woe_id.rb
barometer-0.9.0 lib/barometer/query/services/to_woe_id.rb