geogle 0.3.1 → 0.3.4

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.
@@ -0,0 +1,23 @@
1
+ describe Geogle::Model::Leg do
2
+ let(:route) do
3
+ VCR.use_cassette('directions_by_address') do
4
+ Geogle::Directions.new.routes("Valencia", "Madrid", { region: "es" }).first
5
+ end
6
+ end
7
+
8
+ it "duration" do
9
+ expect(route.duration).to eq(12745)
10
+ end
11
+
12
+ it "distance" do
13
+ expect(route.distance).to eq(355040)
14
+ end
15
+
16
+ it "origin" do
17
+ expect(route.origin).to eq("Valencia, Valencia, Spain")
18
+ end
19
+
20
+ it "destination" do
21
+ expect(route.destination).to eq("Madrid, Madrid, Spain")
22
+ end
23
+ end
@@ -1,325 +1,325 @@
1
1
  describe 'Parser' do
2
2
 
3
- describe "places" do
4
- let(:places) do
5
- VCR.use_cassette('geocode_by_latlng') do
6
- Geogle::Geocoder.new.latlng(39.4699075, -0.3762881)
7
- end
3
+ describe "places" do
4
+ let(:places) do
5
+ VCR.use_cassette('geocode_by_latlng') do
6
+ Geogle::Geocoder.new.latlng(39.4699075, -0.3762881)
8
7
  end
8
+ end
9
9
 
10
- it "returns an array of Geogle::Model::Places" do
11
- expect(places).to be_kind_of(Array)
10
+ it "returns an array of Geogle::Model::Places" do
11
+ expect(places).to be_kind_of(Array)
12
+ end
13
+
14
+ it "each element is Geogle::Model::Place" do
15
+ expect(places.first).to be_kind_of(Geogle::Model::Place)
16
+ end
17
+
18
+ describe "place" do
19
+ let(:place) { places.first }
20
+
21
+ it "geo_location" do
22
+ expect(place.geo_location.to_s).to eq("39.4701016,-0.3761823")
12
23
  end
13
24
 
14
- it "each element is Geogle::Model::Place" do
15
- expect(places.first).to be_kind_of(Geogle::Model::Place)
25
+ it "street" do
26
+ expect(place.street).to eq("Plaza Ayuntamiento")
16
27
  end
17
28
 
18
- describe "place" do
19
- let(:place) { places.first }
29
+ it "locality" do
30
+ expect(place.locality).to eq("Valencia")
31
+ end
20
32
 
21
- it "geo_location" do
22
- expect(place.geo_location.to_s).to eq("39.4701016,-0.3761823")
23
- end
33
+ it "city" do
34
+ expect(place.city).to eq("Valencia")
35
+ end
24
36
 
25
- it "street" do
26
- expect(place.street).to eq("Plaza Ayuntamiento")
27
- end
37
+ it "state" do
38
+ expect(place.state).to eq("Valencian Community")
39
+ end
28
40
 
29
- it "locality" do
30
- expect(place.locality).to eq("Valencia")
31
- end
41
+ it "country" do
42
+ expect(place.country).to eq("Spain")
43
+ end
32
44
 
33
- it "city" do
34
- expect(place.city).to eq("Valencia")
35
- end
45
+ it "country_code" do
46
+ expect(place.country_code).to eq("ES")
47
+ end
36
48
 
37
- it "state" do
38
- expect(place.state).to eq("Valencian Community")
39
- end
49
+ describe "geometry" do
50
+ let(:geometry) { place.geometry }
40
51
 
41
- it "country" do
42
- expect(place.country).to eq("Spain")
52
+ it "location_type" do
53
+ expect(geometry.location_type).to eq("ROOFTOP")
43
54
  end
44
55
 
45
- it "country_code" do
46
- expect(place.country_code).to eq("ES")
56
+ describe "location" do
57
+ let(:location) { geometry.location }
58
+
59
+ it "has latitude" do
60
+ expect(location.lat).to eq(39.4701016)
61
+ end
62
+
63
+ it "has longitude" do
64
+ expect(location.lng).to eq(-0.3761823)
65
+ end
66
+
67
+ it "to_s" do
68
+ expect(location.to_s).to eq("39.4701016,-0.3761823")
69
+ end
47
70
  end
48
71
 
49
- describe "geometry" do
50
- let(:geometry) { place.geometry }
72
+ describe "bounds" do
73
+ let(:bounds) { geometry.bounds }
51
74
 
52
- it "location_type" do
53
- expect(geometry.location_type).to eq("ROOFTOP")
75
+ it "they are nil when there are not" do
76
+ expect(bounds).to be_nil
54
77
  end
78
+ end
55
79
 
56
- describe "location" do
57
- let(:location) { geometry.location }
80
+ describe "viewport" do
81
+ let(:viewport) { geometry.viewport }
82
+
83
+ describe "southwest" do
84
+ let(:southwest) { viewport.southwest }
58
85
 
59
86
  it "has latitude" do
60
- expect(location.lat).to eq(39.4701016)
87
+ expect(southwest.lat).to eq(39.4687526197085)
61
88
  end
62
89
 
63
90
  it "has longitude" do
64
- expect(location.lng).to eq(-0.3761823)
65
- end
66
-
67
- it "to_s" do
68
- expect(location.to_s).to eq("39.4701016,-0.3761823")
91
+ expect(southwest.lng).to eq(-0.3775312802915021)
69
92
  end
70
93
  end
71
94
 
72
- describe "bounds" do
73
- let(:bounds) { geometry.bounds }
95
+ describe "northeast" do
96
+ let(:northeast) { viewport.northeast }
74
97
 
75
- it "they are nil when there are not" do
76
- expect(bounds).to be_nil
98
+ it "has latitude" do
99
+ expect(northeast.lat).to eq(39.4714505802915)
77
100
  end
78
- end
79
101
 
80
- describe "viewport" do
81
- let(:viewport) { geometry.viewport }
102
+ it "has longitude" do
103
+ expect(northeast.lng).to eq(-0.374833319708498)
104
+ end
105
+ end
106
+ end
107
+ end
82
108
 
83
- describe "southwest" do
84
- let(:southwest) { viewport.southwest }
109
+ describe "address" do
110
+ let(:address) { place.address }
85
111
 
86
- it "has latitude" do
87
- expect(southwest.lat).to eq(39.4687526197085)
88
- end
112
+ it "has a street_number" do
113
+ expect(address.street_number).to eq("S/N")
114
+ end
89
115
 
90
- it "has longitude" do
91
- expect(southwest.lng).to eq(-0.3775312802915021)
92
- end
93
- end
116
+ it "has a street" do
117
+ expect(address.street).to eq("Plaza Ayuntamiento")
118
+ end
94
119
 
95
- describe "northeast" do
96
- let(:northeast) { viewport.northeast }
120
+ it "has a locality" do
121
+ expect(address.locality).to eq("Valencia")
122
+ end
97
123
 
98
- it "has latitude" do
99
- expect(northeast.lat).to eq(39.4714505802915)
100
- end
124
+ it "has a area_level_1" do
125
+ expect(address.area_level_1).to eq("Valencian Community")
126
+ end
101
127
 
102
- it "has longitude" do
103
- expect(northeast.lng).to eq(-0.374833319708498)
104
- end
105
- end
106
- end
128
+ it "has a area_level_1_code" do
129
+ expect(address.area_level_1_code).to eq("Valencian Community")
107
130
  end
108
131
 
109
- describe "address" do
110
- let(:address) { place.address }
132
+ it "has a area_level_2" do
133
+ expect(address.area_level_2).to eq("Valencia")
134
+ end
111
135
 
112
- it "has a street_number" do
113
- expect(address.street_number).to eq("S/N")
114
- end
136
+ it "has a area_level_2_code" do
137
+ expect(address.area_level_2_code).to eq("V")
138
+ end
115
139
 
116
- it "has a street" do
117
- expect(address.street).to eq("Plaza Ayuntamiento")
118
- end
140
+ it "has a country" do
141
+ expect(address.country).to eq("Spain")
142
+ end
119
143
 
120
- it "has a locality" do
121
- expect(address.locality).to eq("Valencia")
122
- end
144
+ it "has a country_code" do
145
+ expect(address.country_code).to eq("ES")
146
+ end
123
147
 
124
- it "has a area_level_1" do
125
- expect(address.area_level_1).to eq("Valencian Community")
126
- end
148
+ it "has a formatted" do
149
+ expect(address.formatted).to eq("Plaza Ayuntamiento, S/N, 46002 Valencia, Valencia, Spain")
150
+ end
151
+ end
152
+ end
153
+ end
127
154
 
128
- it "has a area_level_1_code" do
129
- expect(address.area_level_1_code).to eq("Valencian Community")
130
- end
155
+ describe 'routes' do
156
+ let(:routes) do
157
+ VCR.use_cassette('directions_by_address') do
158
+ Geogle::Directions.new.routes("Valencia", "Madrid", { region: "es" })
159
+ end
160
+ end
131
161
 
132
- it "has a area_level_2" do
133
- expect(address.area_level_2).to eq("Valencia")
134
- end
162
+ it "returns an array" do
163
+ expect(routes).to be_kind_of(Array)
164
+ end
135
165
 
136
- it "has a area_level_2_code" do
137
- expect(address.area_level_2_code).to eq("V")
138
- end
166
+ it "each element is Geogle::Model::Route" do
167
+ expect(routes.first).to be_kind_of(Geogle::Model::Route)
168
+ end
139
169
 
140
- it "has a country" do
141
- expect(address.country).to eq("Spain")
142
- end
170
+ describe "route" do
171
+ let(:route) { routes.first }
143
172
 
144
- it "has a country_code" do
145
- expect(address.country_code).to eq("ES")
146
- end
173
+ it "summary" do
174
+ expect(route.summary).to eq("A-3")
175
+ end
147
176
 
148
- it "has a formatted" do
149
- expect(address.formatted).to eq("Plaza Ayuntamiento, S/N, 46002 Valencia, Valencia, Spain")
150
- end
151
- end
177
+ describe "overview_polyline" do
178
+ pending
152
179
  end
153
- end
154
180
 
155
- describe 'routes' do
156
- let(:routes) do
157
- VCR.use_cassette('directions_by_address') do
158
- Geogle::Directions.new.routes("Valencia", "Madrid", { region: "es" })
159
- end
181
+ it "copyrights" do
182
+ expect(route.copyrights).to eq("Map data ©2014 Google, basado en BCN IGN España")
160
183
  end
161
184
 
162
- it "returns an array" do
163
- expect(routes).to be_kind_of(Array)
185
+ describe "warnings" do
186
+ pending
164
187
  end
165
188
 
166
- it "each element is Geogle::Model::Route" do
167
- expect(routes.first).to be_kind_of(Geogle::Model::Route)
189
+ it "waypoint_order" do
190
+ pending
191
+ expect(route.waypoint_order).to be_kind_of([])
168
192
  end
169
193
 
170
- describe "route" do
171
- let(:route) { routes.first }
194
+ describe "bounds" do
195
+ let(:bounds) { route.bounds }
172
196
 
173
- it "summary" do
174
- expect(route.summary).to eq("A-3")
197
+ describe "southwest" do
198
+ let(:southwest) { bounds.southwest }
199
+
200
+ it "has latitude" do
201
+ expect(southwest.lat).to eq(39.4289607)
202
+ end
203
+
204
+ it "has longitude" do
205
+ expect(southwest.lng).to eq(-3.7047624)
206
+ end
175
207
  end
176
208
 
177
- describe "overview_polyline" do
178
- pending
209
+ describe "northeast" do
210
+ let(:northeast) { bounds.northeast }
211
+
212
+ it "has latitude" do
213
+ expect(northeast.lat).to eq(40.4167158)
214
+ end
215
+
216
+ it "has longitude" do
217
+ expect(northeast.lng).to eq(-0.3759178)
218
+ end
179
219
  end
220
+ end
180
221
 
181
- it "copyrights" do
182
- expect(route.copyrights).to eq("Map data ©2014 Google, basado en BCN IGN España")
222
+ describe "legs" do
223
+ let(:leg) { route.legs.first }
224
+
225
+ it "is an array" do
226
+ expect(route.legs).to be_kind_of(Array)
183
227
  end
184
228
 
185
- describe "warnings" do
186
- pending
229
+ it "start_address" do
230
+ expect(leg.start_address).to eq("Valencia, Valencia, Spain")
187
231
  end
188
232
 
189
- it "waypoint_order" do
190
- pending
191
- expect(route.waypoint_order).to be_kind_of([])
233
+ it "end_address" do
234
+ expect(leg.end_address).to eq("Madrid, Madrid, Spain")
192
235
  end
193
236
 
194
- describe "bounds" do
195
- let(:bounds) { route.bounds }
237
+ it "start_location" do
238
+ expect(leg.start_location.to_s).to eq("39.4699889,-0.3759178")
239
+ end
196
240
 
197
- describe "southwest" do
198
- let(:southwest) { bounds.southwest }
241
+ it "end_location" do
242
+ expect(leg.end_location.to_s).to eq("40.4167158,-3.7037799")
243
+ end
199
244
 
200
- it "has latitude" do
201
- expect(southwest.lat).to eq(39.4289182)
202
- end
245
+ describe "distance" do
246
+ let(:distance) { leg.distance }
203
247
 
204
- it "has longitude" do
205
- expect(southwest.lng).to eq(-3.7046622)
206
- end
248
+ it "value" do
249
+ expect(distance.value).to eq(355040)
207
250
  end
208
251
 
209
- describe "northeast" do
210
- let(:northeast) { bounds.northeast }
252
+ it "text" do
253
+ expect(distance.text).to eq("355 km")
254
+ end
255
+ end
211
256
 
212
- it "has latitude" do
213
- expect(northeast.lat).to eq(40.4167158)
214
- end
257
+ describe "duration" do
258
+ let(:duration) { leg.duration }
215
259
 
216
- it "has longitude" do
217
- expect(northeast.lng).to eq(-0.3759178)
218
- end
260
+ it "value" do
261
+ expect(duration.value).to eq(12745)
219
262
  end
263
+
264
+ it "text" do
265
+ expect(duration.text).to eq("3 hours 32 mins")
266
+ end
267
+ end
268
+
269
+ describe "arrival_time" do
270
+ let(:arrival_time) { leg.arrival_time }
271
+ pending
272
+ end
273
+
274
+ describe "departure_time" do
275
+ let(:departure_time) { leg.departure_time }
276
+ pending
220
277
  end
221
278
 
222
- describe "legs" do
223
- let(:leg) { route.legs.first }
279
+ describe "steps" do
280
+ let(:step) { leg.steps.first }
224
281
 
225
282
  it "is an array" do
226
283
  expect(route.legs).to be_kind_of(Array)
227
284
  end
228
285
 
229
- it "start_address" do
230
- expect(leg.start_address).to eq("Valencia, Valencia, Spain")
286
+ it "html_instructions" do
287
+ expect(step.html_instructions).to eq("Head <b>north</b> on <b>Plaça de l'Ajuntament</b>")
231
288
  end
232
289
 
233
- it "end_address" do
234
- expect(leg.end_address).to eq("Madrid, Madrid, Spain")
290
+ it "travel_mode" do
291
+ expect(step.travel_mode).to eq("DRIVING")
235
292
  end
236
293
 
237
294
  it "start_location" do
238
- expect(leg.start_location.to_s).to eq("39.4699889,-0.3759178")
295
+ expect(step.start_location.to_s).to eq("39.4699889,-0.3759178")
239
296
  end
240
297
 
241
298
  it "end_location" do
242
- expect(leg.end_location.to_s).to eq("40.4167158,-3.7037799")
299
+ expect(step.end_location.to_s).to eq("39.4701816,-0.3759889")
243
300
  end
244
301
 
245
302
  describe "distance" do
246
- let(:distance) { leg.distance }
247
-
248
303
  it "value" do
249
- expect(distance.value).to eq(355097)
304
+ expect(step.distance.value).to eq(22)
250
305
  end
251
306
 
252
307
  it "text" do
253
- expect(distance.text).to eq("355 km")
308
+ expect(step.distance.text).to eq("22 m")
254
309
  end
255
310
  end
256
311
 
257
312
  describe "duration" do
258
- let(:duration) { leg.duration }
259
-
260
313
  it "value" do
261
- expect(duration.value).to eq(11866)
314
+ expect(step.duration.value).to eq(2)
262
315
  end
263
316
 
264
317
  it "text" do
265
- expect(duration.text).to eq("3 hours 18 mins")
266
- end
267
- end
268
-
269
- describe "arrival_time" do
270
- let(:arrival_time) { leg.arrival_time }
271
- pending
272
- end
273
-
274
- describe "departure_time" do
275
- let(:departure_time) { leg.departure_time }
276
- pending
277
- end
278
-
279
- describe "steps" do
280
- let(:step) { leg.steps.first }
281
-
282
- it "is an array" do
283
- expect(route.legs).to be_kind_of(Array)
284
- end
285
-
286
- it "html_instructions" do
287
- expect(step.html_instructions).to eq("Head <b>north</b> on <b>Plaça de l'Ajuntament</b>")
288
- end
289
-
290
- it "travel_mode" do
291
- expect(step.travel_mode).to eq("DRIVING")
292
- end
293
-
294
- it "start_location" do
295
- expect(step.start_location.to_s).to eq("39.4699889,-0.3759178")
296
- end
297
-
298
- it "end_location" do
299
- expect(step.end_location.to_s).to eq("39.4701816,-0.3759889")
300
- end
301
-
302
- describe "distance" do
303
- it "value" do
304
- expect(step.distance.value).to eq(22)
305
- end
306
-
307
- it "text" do
308
- expect(step.distance.text).to eq("22 m")
309
- end
310
- end
311
-
312
- describe "duration" do
313
- it "value" do
314
- expect(step.duration.value).to eq(2)
315
- end
316
-
317
- it "text" do
318
- expect(step.duration.text).to eq("1 min")
319
- end
318
+ expect(step.duration.text).to eq("1 min")
320
319
  end
321
320
  end
322
321
  end
323
322
  end
324
323
  end
325
- end
324
+ end
325
+ end