geokit-premier 0.0.7 → 0.1.0

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.
@@ -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