class SoraGeocoding::Url

generate url

Constants

BASE_GEOCODING_URL
BASE_YAHOO_URL

Attributes

site[RW]

Public Class Methods

new(query) click to toggle source
# File lib/sora_geocoding/url.rb, line 14
def initialize(query)
  @yahoo_appid = configuration.yahoo_appid
  @site = configuration.site
  @query = query
end

Public Instance Methods

get() click to toggle source
# File lib/sora_geocoding/url.rb, line 20
def get
  switch_site
  select
end

Private Instance Methods

encode_uri(params) click to toggle source
# File lib/sora_geocoding/url.rb, line 60
def encode_uri(params)
  URI.encode_www_form(params)
end
geocoding() click to toggle source
# File lib/sora_geocoding/url.rb, line 55
def geocoding
  params = { q: @query }
  "#{BASE_GEOCODING_URL}?#{encode_uri(params)}"
end
select() click to toggle source
# File lib/sora_geocoding/url.rb, line 26
def select
  if @yahoo_appid.nil? || @site == 'geocoding'
    geocoding
  elsif @site.nil? || @site == 'yahoo'
    yahoo
  end
end
switch_site() click to toggle source
# File lib/sora_geocoding/url.rb, line 34
def switch_site
  if @yahoo_appid.nil? || @site == 'geocoding'
    @site = 'geocoding'
  elsif @site.nil? || @site == 'yahoo'
    @site = 'yahoo'
  else
    raise 'Please specify the correct site.'
  end
end
yahoo() click to toggle source
# File lib/sora_geocoding/url.rb, line 44
def yahoo
  params = {
    appid: @yahoo_appid,
    query: @query,
    results: '1',
    detail: 'full',
    output: 'xml'
  }
  "#{BASE_YAHOO_URL}?#{encode_uri(params)}"
end