gemish 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gemish.rb +38 -5
- metadata +12 -2
- data/lib/gemish/coder.rb +0 -15
data/lib/gemish.rb
CHANGED
@@ -1,8 +1,41 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
require 'rubygems'
|
2
|
+
require 'json'
|
3
|
+
require 'net/http'
|
4
|
+
|
5
|
+
module Gemish
|
6
|
+
def geocoder_parse_results(url)
|
7
|
+
base_url = "http://maps.googleapis.com/maps/api/geocode/json"
|
8
|
+
response = Net::HTTP.get_response(URI.parse(base_url+url))
|
9
|
+
json_result = JSON.parse(response.body)
|
10
|
+
json_result.fetch("results")[0]
|
11
|
+
end
|
12
|
+
|
13
|
+
def geocode(place, sensor = false)
|
14
|
+
results = geocoder_parse_results("?address=#{URI.encode(place)}&sensor=#{sensor}")
|
15
|
+
|
16
|
+
location = results.fetch("geometry").fetch("location")
|
17
|
+
lat = location.fetch("lat") # print lang sa ta
|
18
|
+
lng = location.fetch("lng") # print lang sa ta
|
19
|
+
coordinate = [lat, lng]
|
20
|
+
rescue
|
21
|
+
nil
|
22
|
+
end
|
23
|
+
|
24
|
+
def reverse_geocode(coordinates, sensor = false)
|
25
|
+
lat, lng = coordinates
|
26
|
+
|
27
|
+
results = geocoder_parse_results("?latlng=#{lat},#{lng}&sensor=#{sensor}")
|
28
|
+
address = results.fetch("formatted_address") # print lang sa ta
|
29
|
+
rescue
|
30
|
+
nil
|
5
31
|
end
|
6
32
|
end
|
7
33
|
|
8
|
-
|
34
|
+
|
35
|
+
class ActiveRecord::Base
|
36
|
+
|
37
|
+
def self.geocodable
|
38
|
+
self.send(:include, Gemish)
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemish
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 25
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- stefany
|
@@ -24,7 +29,6 @@ extra_rdoc_files: []
|
|
24
29
|
|
25
30
|
files:
|
26
31
|
- lib/gemish.rb
|
27
|
-
- lib/gemish/coder.rb
|
28
32
|
has_rdoc: true
|
29
33
|
homepage: http://rubygems.org/gems/gemish
|
30
34
|
licenses: []
|
@@ -39,12 +43,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
39
43
|
requirements:
|
40
44
|
- - ">="
|
41
45
|
- !ruby/object:Gem::Version
|
46
|
+
hash: 3
|
47
|
+
segments:
|
48
|
+
- 0
|
42
49
|
version: "0"
|
43
50
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
51
|
none: false
|
45
52
|
requirements:
|
46
53
|
- - ">="
|
47
54
|
- !ruby/object:Gem::Version
|
55
|
+
hash: 3
|
56
|
+
segments:
|
57
|
+
- 0
|
48
58
|
version: "0"
|
49
59
|
requirements: []
|
50
60
|
|