locationator 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Gemfile.lock +1 -1
- data/README.md +22 -9
- data/lib/locationator/version.rb +1 -1
- data/lib/locationator.rb +6 -14
- data/locationator.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Y2M1NDIyMmNmOGY0N2IyZmU0NGJkMTQyNTA5MDBmYWRlYzIwNDZhNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZWNjZTdlNDdlZmU3Mzg3ZjJjZWIyOWUwM2M2YzI5MDVlZjU2NjBkNQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDU4MDU1ZDFjMTBjNzgyZjc4ZGY4MTkyNjIyZmRiNzg4NGFhMGUwMzk5OTlm
|
10
|
+
ZWExMDRiNGU1ZGU3ZGQzOWYyMzJiOWMxMTg1N2NmNGYxNzE5ZDkwOTA5NmM1
|
11
|
+
N2QzZDczOWUyOTI0MDNjZjVlNWQzMzdkN2E5Y2RkZGM1OTdhY2E=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzQwYTE5NDc1NjI3MDhlMzkxNzcxOGZkMzAyZTk2NzljMGJhMzc4MDJmNzcx
|
14
|
+
OTM4ODkxNmFkNTA3NmQ2MjRjZGY2NGMxNmJlNDAxYWIzMDg4M2E5ZTVjYThl
|
15
|
+
MDA2ZmE2Zjc0OGIxOTc2ZTdkYjc1Zjg5NTgyNDBkMmMyNDFlNmQ=
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
A lightweight geocoder gem that
|
1
|
+
A lightweight geocoder gem that uses Google Maps' geocoder service to return basic information about an address including latitude, longitude, zip code, and formatted Address
|
2
2
|
|
3
3
|
## Installation
|
4
4
|
|
@@ -16,19 +16,32 @@ Or install it yourself as:
|
|
16
16
|
|
17
17
|
## Usage
|
18
18
|
|
19
|
-
There are
|
19
|
+
There are 5 methods in this gem:
|
20
20
|
|
21
|
-
|
21
|
+
Return the latitude of an address:
|
22
22
|
|
23
|
-
|
23
|
+
$ Locationator.lat("800 W. Huron St Chicago, IL")
|
24
|
+
=> 41.895347
|
24
25
|
|
25
|
-
|
26
|
+
Return the longitude of an address:
|
26
27
|
|
27
|
-
|
28
|
+
$ Locationator.lng("800 W. Huron St Chicago, IL")
|
29
|
+
=> -87.648072
|
28
30
|
|
29
|
-
|
31
|
+
Return an array of the latitude and longitude of an address:
|
30
32
|
|
31
|
-
|
33
|
+
$ Locationator.lat_lng("800 W. Huron St Chicago, IL")
|
34
|
+
=> [41.895347, -87.648072]
|
35
|
+
|
36
|
+
Return the postal (zip) code of an address:
|
37
|
+
|
38
|
+
$ Locationator.zip("800 W. Huron St Chicago, IL")
|
39
|
+
=> "60642"
|
40
|
+
|
41
|
+
Return the properly formatted version of an address
|
42
|
+
|
43
|
+
$ Locationator.zip("800 W. Huron St Chicago, IL")
|
44
|
+
=> "800 West Huron Street, Chicago, IL 60642, USA"
|
32
45
|
|
33
46
|
## Contributing
|
34
47
|
|
@@ -36,4 +49,4 @@ will return an array of the latitude and longitude.
|
|
36
49
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
37
50
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
38
51
|
4. Push to the branch (`git push origin my-new-feature`)
|
39
|
-
5. Create new Pull Request
|
52
|
+
5. Create new Pull Request
|
data/lib/locationator/version.rb
CHANGED
data/lib/locationator.rb
CHANGED
@@ -7,15 +7,13 @@ module Locationator
|
|
7
7
|
|
8
8
|
# Returns the latitude
|
9
9
|
def self.lat(address)
|
10
|
-
|
11
|
-
geocodeResponse = get_data(geocodeURL)
|
10
|
+
geocodeResponse = get_data(address)
|
12
11
|
lat = geocodeResponse["results"][0]["geometry"]["location"]["lat"]
|
13
12
|
end
|
14
13
|
|
15
14
|
# Returns the longitude
|
16
15
|
def self.lng(address)
|
17
|
-
|
18
|
-
geocodeResponse = get_data(geocodeURL)
|
16
|
+
geocodeResponse = get_data(address)
|
19
17
|
lng = geocodeResponse["results"][0]["geometry"]["location"]["lng"]
|
20
18
|
end
|
21
19
|
|
@@ -28,8 +26,7 @@ module Locationator
|
|
28
26
|
|
29
27
|
# Returns the zip code for an address
|
30
28
|
def self.zip(address)
|
31
|
-
|
32
|
-
geocodeResponse = get_data(geocodeURL)
|
29
|
+
geocodeResponse = get_data(address)
|
33
30
|
components = geocodeResponse["results"][0]["address_components"]
|
34
31
|
# The postal code is always the last address component returned
|
35
32
|
# TODO: Find a cleaner method of finding the postal code in the JSON
|
@@ -38,24 +35,19 @@ module Locationator
|
|
38
35
|
|
39
36
|
# Returns a properly formatted address
|
40
37
|
def self.format(address)
|
41
|
-
|
42
|
-
geocodeResponse = get_data(geocodeURL)
|
38
|
+
geocodeResponse = get_data(address)
|
43
39
|
formatted = geocodeResponse["results"][0]["formatted_address"]
|
44
40
|
end
|
45
41
|
|
46
42
|
private
|
47
43
|
|
48
44
|
# Builds the URL that we need to get our JSON response from Google
|
49
|
-
def self.
|
45
|
+
def self.get_data(address)
|
50
46
|
geocodePrimary = "http://maps.googleapis.com/maps/api/geocode/json?address="
|
51
47
|
geocodeAddress = URI::encode(address)
|
52
48
|
geocodeSensor = "&sensor=false"
|
53
49
|
geocodeURL = geocodePrimary + geocodeAddress + geocodeSensor
|
54
|
-
|
55
|
-
|
56
|
-
# Sends the URL to Google and parses the response
|
57
|
-
def self.get_data(url)
|
58
|
-
response = Net::HTTP.get_response(URI.parse(url))
|
50
|
+
response = Net::HTTP.get_response(URI.parse(geocodeURL))
|
59
51
|
data = JSON.parse(response.body)
|
60
52
|
end
|
61
53
|
|
data/locationator.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["lawrence@lrdiv.com"]
|
11
11
|
spec.description = %q{Get location information.}
|
12
12
|
spec.summary = %q{Use Google's geocoding services to get information about any address.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/lawrencedavis/locationator"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: locationator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lawrence Davis
|
@@ -54,7 +54,7 @@ files:
|
|
54
54
|
- lib/locationator.rb
|
55
55
|
- lib/locationator/version.rb
|
56
56
|
- locationator.gemspec
|
57
|
-
homepage:
|
57
|
+
homepage: https://github.com/lawrencedavis/locationator
|
58
58
|
licenses:
|
59
59
|
- MIT
|
60
60
|
metadata: {}
|