geocoder 1.5.1 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +26 -0
- data/LICENSE +1 -1
- data/README.md +8 -10
- data/bin/console +13 -0
- data/examples/autoexpire_cache_redis.rb +2 -0
- data/lib/easting_northing.rb +171 -0
- data/lib/geocoder/ip_address.rb +2 -1
- data/lib/geocoder/lookup.rb +7 -3
- data/lib/geocoder/lookups/ban_data_gouv_fr.rb +13 -0
- data/lib/geocoder/lookups/base.rb +2 -0
- data/lib/geocoder/lookups/esri.rb +2 -0
- data/lib/geocoder/lookups/freegeoip.rb +4 -4
- data/lib/geocoder/lookups/here.rb +7 -16
- data/lib/geocoder/lookups/ip2location.rb +5 -13
- data/lib/geocoder/lookups/ipgeolocation.rb +51 -0
- data/lib/geocoder/lookups/ipregistry.rb +68 -0
- data/lib/geocoder/lookups/latlon.rb +1 -2
- data/lib/geocoder/lookups/nationaal_georegister_nl.rb +38 -0
- data/lib/geocoder/lookups/osmnames.rb +57 -0
- data/lib/geocoder/lookups/pickpoint.rb +1 -1
- data/lib/geocoder/lookups/smarty_streets.rb +6 -1
- data/lib/geocoder/lookups/telize.rb +1 -1
- data/lib/geocoder/lookups/tencent.rb +9 -9
- data/lib/geocoder/lookups/uk_ordnance_survey_names.rb +59 -0
- data/lib/geocoder/lookups/yandex.rb +3 -4
- data/lib/geocoder/results/baidu.rb +0 -4
- data/lib/geocoder/results/ban_data_gouv_fr.rb +1 -1
- data/lib/geocoder/results/here.rb +4 -1
- data/lib/geocoder/results/ipgeolocation.rb +59 -0
- data/lib/geocoder/results/ipregistry.rb +308 -0
- data/lib/geocoder/results/nationaal_georegister_nl.rb +62 -0
- data/lib/geocoder/results/osmnames.rb +56 -0
- data/lib/geocoder/results/uk_ordnance_survey_names.rb +59 -0
- data/lib/geocoder/results/yandex.rb +217 -59
- data/lib/geocoder/sql.rb +4 -4
- data/lib/geocoder/version.rb +1 -1
- data/lib/hash_recursive_merge.rb +1 -2
- data/lib/maxmind_database.rb +3 -3
- metadata +19 -15
- data/lib/geocoder/lookups/geocoder_us.rb +0 -51
- data/lib/geocoder/results/geocoder_us.rb +0 -39
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
require 'geocoder/lookups/base'
|
|
2
|
-
require "geocoder/results/geocoder_us"
|
|
3
|
-
|
|
4
|
-
module Geocoder::Lookup
|
|
5
|
-
class GeocoderUs < Base
|
|
6
|
-
|
|
7
|
-
def name
|
|
8
|
-
"Geocoder.us"
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def supported_protocols
|
|
12
|
-
[:http]
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
private # ----------------------------------------------------------------
|
|
16
|
-
|
|
17
|
-
def base_query_url(query)
|
|
18
|
-
base_query_url_with_optional_key(configuration.api_key)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def cache_key(query)
|
|
22
|
-
base_query_url_with_optional_key(nil) + url_query_string(query)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def base_query_url_with_optional_key(key = nil)
|
|
26
|
-
base = "#{protocol}://"
|
|
27
|
-
if configuration.api_key
|
|
28
|
-
base << "#{configuration.api_key}@"
|
|
29
|
-
end
|
|
30
|
-
base + "geocoder.us/member/service/csv/geocode?"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def results(query)
|
|
34
|
-
return [] unless doc = fetch_data(query)
|
|
35
|
-
if doc[0].to_s =~ /^(\d+)\:/
|
|
36
|
-
return []
|
|
37
|
-
else
|
|
38
|
-
return [doc.size == 5 ? ((doc[0..1] << nil) + doc[2..4]) : doc]
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def query_url_params(query)
|
|
43
|
-
(query.text =~ /^\d{5}(?:-\d{4})?$/ ? {:zip => query} : {:address => query.sanitized_text}).merge(super)
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def parse_raw_data(raw_data)
|
|
47
|
-
raw_data.chomp.split(',')
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
require 'geocoder/results/base'
|
|
2
|
-
|
|
3
|
-
module Geocoder::Result
|
|
4
|
-
class GeocoderUs < Base
|
|
5
|
-
def coordinates
|
|
6
|
-
[@data[0].to_f, @data[1].to_f]
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def address(format = :full)
|
|
10
|
-
"#{street_address}, #{city}, #{state} #{postal_code}, #{country}".sub(/^[ ,]*/, "")
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def street_address
|
|
14
|
-
@data[2]
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def city
|
|
18
|
-
@data[3]
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def state
|
|
22
|
-
@data[4]
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
alias_method :state_code, :state
|
|
26
|
-
|
|
27
|
-
def postal_code
|
|
28
|
-
@data[5]
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def country
|
|
32
|
-
'United States'
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def country_code
|
|
36
|
-
'US'
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|