geokit-premier 0.0.7 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module Geokit
2
- VERSION = "0.0.7"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -69,5 +69,65 @@ describe "Geocoder" do
69
69
  end
70
70
 
71
71
  end
72
+
73
+ describe "sorting results" do
74
+ let(:raw_results) {
75
+ {
76
+ "results" => [
77
+ { "formatted_address" => '1-First Rooftop Place',
78
+ "geometry" => {"location_type" => "ROOFTOP", "location" => {"lat" => 1.0, "lng" => 1.0}},
79
+ 'address_components' => []},
80
+
81
+ { "formatted_address" => '2-Second Rooftop Place',
82
+ "geometry" => {"location_type" => "ROOFTOP", "location" => {"lat" => 1.0, "lng" => 1.0}},
83
+ 'address_components' => []},
84
+
85
+ { "formatted_address" => '7-First Approximate Place',
86
+ "geometry" => {"location_type" => "APPROXIMATE", "location" => {"lat" => 1.0, "lng" => 1.0}},
87
+ 'address_components' => []},
88
+
89
+ { "formatted_address" => '8-First Approximate Place',
90
+ "geometry" => {"location_type" => "APPROXIMATE", "location" => {"lat" => 1.0, "lng" => 1.0}},
91
+ 'address_components' => []},
92
+
93
+ { "formatted_address" => '5-First Geometric-Center Place',
94
+ "geometry" => {"location_type" => "GEOMETRIC_CENTER", "location" => {"lat" => 1.0, "lng" => 1.0}},
95
+ 'address_components' => []},
96
+
97
+ { "formatted_address" => '6-Second Geometric-Center Place',
98
+ "geometry" => {"location_type" => "GEOMETRIC_CENTER", "location" => {"lat" => 1.0, "lng" => 1.0}},
99
+ 'address_components' => []},
100
+
101
+ { "formatted_address" => '3-First Range-Interpolated Place',
102
+ "geometry" => {"location_type" => "RANGE_INTERPOLATED", "location" => {"lat" => 1.0, "lng" => 1.0}},
103
+ 'address_components' => []},
104
+
105
+ { "formatted_address" => '4-Second Range-Interpolated Place',
106
+ "geometry" => {"location_type" => "RANGE_INTERPOLATED", "location" => {"lat" => 1.0, "lng" => 1.0}},
107
+ 'address_components' => []}
108
+ ]
109
+ }
110
+ }
111
+
112
+ it "returns the most relevant result first" do
113
+ JSON.stub(:decode).and_return(raw_results)
114
+ JSON.stub(:parse).and_return(raw_results)
115
+
116
+ results = Geokit::Geocoders::GoogleGeocoder3.json2GeoLoc('mock-json-string')
117
+
118
+ # first default result should be the first one.
119
+ results.full_address.should == '1-First Rooftop Place'
120
+
121
+ # all results should be ordered properly
122
+ results.all[0].full_address.should == '1-First Rooftop Place'
123
+ results.all[1].full_address.should == '2-Second Rooftop Place'
124
+ results.all[2].full_address.should == '3-First Range-Interpolated Place'
125
+ results.all[3].full_address.should == '4-Second Range-Interpolated Place'
126
+ results.all[4].full_address.should == '5-First Geometric-Center Place'
127
+ results.all[5].full_address.should == '6-Second Geometric-Center Place'
128
+ results.all[6].full_address.should == '7-First Approximate Place'
129
+ results.all[7].full_address.should == '8-First Approximate Place'
130
+ end
131
+ end
72
132
 
73
- end
133
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is copied to spec/ when you run 'rails generate rspec:install'
2
- require 'lib/geokit'
2
+ require './lib/geokit'
3
3
  require 'rubygems'
4
4
  require 'irb'
5
5
  require 'irb/completion'
metadata CHANGED
@@ -1,133 +1,138 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: geokit-premier
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 7
10
- version: 0.0.7
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Andrew Forward (forked project from Andre Lewis and Bill Eisenhauer)
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-12-09 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2014-05-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: json_pure
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: hoe
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: hoe
32
+ requirement: !ruby/object:Gem::Requirement
38
33
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
46
38
  type: :runtime
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: rspec
50
39
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
52
41
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 2.14.1
60
54
  type: :development
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: autotest
64
55
  prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
66
57
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.14.1
62
+ - !ruby/object:Gem::Dependency
63
+ name: autotest
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
74
70
  type: :development
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: ZenTest
78
71
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
80
73
  none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: ZenTest
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
88
86
  type: :development
89
- version_requirements: *id005
90
- - !ruby/object:Gem::Dependency
91
- name: standalone_migrations
92
87
  prerelease: false
93
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: standalone_migrations
96
+ requirement: !ruby/object:Gem::Requirement
94
97
  none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
102
  type: :development
103
- version_requirements: *id006
104
- - !ruby/object:Gem::Dependency
105
- name: mysql
106
103
  prerelease: false
107
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: mysql
112
+ requirement: !ruby/object:Gem::Requirement
108
113
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
116
118
  type: :development
117
- version_requirements: *id007
118
- description: Enhanced the google geocoder to take advantage of the premier account offering
119
- email:
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ description: Enhanced the google geocoder to take advantage of the premier account
127
+ offering
128
+ email:
120
129
  - aforward@gmail.com
121
130
  executables: []
122
-
123
131
  extensions: []
124
-
125
132
  extra_rdoc_files: []
126
-
127
- files:
133
+ files:
128
134
  - .gitignore
129
135
  - Gemfile
130
- - Gemfile.lock
131
136
  - History.txt
132
137
  - Manifest.txt
133
138
  - README.markdown
@@ -158,38 +163,29 @@ files:
158
163
  - test/test_yahoo_geocoder.rb
159
164
  homepage: https://github.com/aforward/geokit-premier-gem
160
165
  licenses: []
161
-
162
166
  post_install_message:
163
167
  rdoc_options: []
164
-
165
- require_paths:
168
+ require_paths:
166
169
  - lib
167
- required_ruby_version: !ruby/object:Gem::Requirement
170
+ required_ruby_version: !ruby/object:Gem::Requirement
168
171
  none: false
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- hash: 3
173
- segments:
174
- - 0
175
- version: "0"
176
- required_rubygems_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  none: false
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- hash: 3
182
- segments:
183
- - 0
184
- version: "0"
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
185
182
  requirements: []
186
-
187
183
  rubyforge_project:
188
- rubygems_version: 1.8.6
184
+ rubygems_version: 1.8.23
189
185
  signing_key:
190
186
  specification_version: 3
191
187
  summary: Enables google geocoding using a premier account
192
- test_files:
188
+ test_files:
193
189
  - spec/geocoder_spec.rb
194
190
  - spec/spec_helper.rb
195
191
  - test/test_base_geocoder.rb
data/Gemfile.lock DELETED
@@ -1,56 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- geokit-premier (0.0.7)
5
- hoe
6
- json_pure
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- ZenTest (4.4.2)
12
- activemodel (3.0.3)
13
- activesupport (= 3.0.3)
14
- builder (~> 2.1.2)
15
- i18n (~> 0.4)
16
- activerecord (3.0.3)
17
- activemodel (= 3.0.3)
18
- activesupport (= 3.0.3)
19
- arel (~> 2.0.2)
20
- tzinfo (~> 0.3.23)
21
- activesupport (3.0.3)
22
- arel (2.0.7)
23
- autotest (4.4.2)
24
- builder (2.1.2)
25
- diff-lcs (1.1.2)
26
- hoe (2.12.4)
27
- rake (~> 0.8)
28
- i18n (0.5.0)
29
- json_pure (1.6.3)
30
- mysql (2.8.1)
31
- rake (0.8.7)
32
- rspec (2.0.1)
33
- rspec-core (~> 2.0.1)
34
- rspec-expectations (~> 2.0.1)
35
- rspec-mocks (~> 2.0.1)
36
- rspec-core (2.0.1)
37
- rspec-expectations (2.0.1)
38
- diff-lcs (>= 1.1.2)
39
- rspec-mocks (2.0.1)
40
- rspec-core (~> 2.0.1)
41
- rspec-expectations (~> 2.0.1)
42
- standalone_migrations (0.3.0)
43
- activerecord
44
- rake
45
- tzinfo (0.3.24)
46
-
47
- PLATFORMS
48
- ruby
49
-
50
- DEPENDENCIES
51
- ZenTest
52
- autotest
53
- geokit-premier!
54
- mysql
55
- rspec
56
- standalone_migrations