movlog 0.2.12 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +5 -1
- data/lib/movlog/airport.rb +44 -0
- data/lib/movlog/geonames_api.rb +49 -0
- data/lib/movlog/route.rb +56 -0
- data/lib/movlog/routes.rb +62 -12
- data/lib/movlog/skyscanner_api.rb +2 -2
- data/lib/movlog/version.rb +1 -1
- data/spec/fixtures/cassettes/geonames_api.yml +122 -0
- data/spec/fixtures/cassettes/skyscanner_api.yml +2198 -0
- data/spec/geonames_spec.rb +26 -0
- data/spec/skyscanner_spec.rb +6 -5
- data/spec/spec_helper.rb +4 -0
- metadata +9 -2
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative 'spec_helper.rb'
|
3
|
+
|
4
|
+
describe 'Geonames specifications' do
|
5
|
+
before do
|
6
|
+
VCR.insert_cassette CASSETTE_FILE_4, record: :new_episodes
|
7
|
+
end
|
8
|
+
|
9
|
+
after do
|
10
|
+
VCR.eject_cassette
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should get geocoord from Geonames' do
|
14
|
+
airport_info = Geonames::AirportInfo.find('Hsinchu')
|
15
|
+
|
16
|
+
airport_info.lat.wont_be_nil
|
17
|
+
airport_info.lng.wont_be_nil
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should get airport by geocoord from Geonames' do
|
21
|
+
airport_info = Geonames::AirportInfo.find('Hsinchu')
|
22
|
+
airports = airport_info.airports
|
23
|
+
|
24
|
+
airports.length.must_be :>, 0
|
25
|
+
end
|
26
|
+
end
|
data/spec/skyscanner_spec.rb
CHANGED
@@ -12,12 +12,13 @@ describe 'Skyscanner specifications' do
|
|
12
12
|
|
13
13
|
it 'should get routes suggested by Skyscanner' do
|
14
14
|
route_meta = {
|
15
|
-
market: '
|
16
|
-
origin: '
|
15
|
+
market: 'TW', currency: 'TWD', locale: 'zh-TW',
|
16
|
+
origin: 'TW', destination: 'US',
|
17
17
|
outbound: 'anytime', inbound: 'anytime'
|
18
18
|
}
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
route = Skyscanner::Route.find(route_meta)
|
20
|
+
flights = route.flights
|
21
|
+
|
22
|
+
flights.length.must_be :>, 0
|
22
23
|
end
|
23
24
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -16,6 +16,7 @@ CASSETTES_FOLDER = "#{FIXTURES_FOLDER}/cassettes"
|
|
16
16
|
CASSETTE_FILE_1 = 'omdb_api'
|
17
17
|
CASSETTE_FILE_2 = 'skyscanner_api'
|
18
18
|
CASSETTE_FILE_3 = 'airbnb_api'
|
19
|
+
CASSETTE_FILE_4 = 'geonames_api'
|
19
20
|
|
20
21
|
OMDB_KEYWORD = 'hobbit'
|
21
22
|
|
@@ -23,6 +24,7 @@ if File.file?('config/credentials.yml')
|
|
23
24
|
credentials = YAML.load(File.read('config/credentials.yml'))
|
24
25
|
ENV['AIRBNB_CLIENT_ID'] = credentials[:airbnb_client_id]
|
25
26
|
ENV['SKY_API_KEY'] = credentials[:skyscanner_api_key]
|
27
|
+
ENV['GEONAMES_USERNAME'] = credentials[:geonames_username]
|
26
28
|
end
|
27
29
|
|
28
30
|
VCR.configure do |c|
|
@@ -31,8 +33,10 @@ VCR.configure do |c|
|
|
31
33
|
|
32
34
|
c.filter_sensitive_data('<SKY_API_KEY>') { ENV['SKY_API_KEY'] }
|
33
35
|
c.filter_sensitive_data('<AIRBNB_CLIENT_ID>') { ENV['AIRBNB_CLIENT_ID'] }
|
36
|
+
c.filter_sensitive_data('<GEONAMES_USERNAME>') { ENV['GEONAMES_USERNAME'] }
|
34
37
|
end
|
35
38
|
|
36
39
|
RESULT_FILE_1 = "#{FIXTURES_FOLDER}/omdb_api_results.yml"
|
37
40
|
RESULT_FILE_2 = "#{FIXTURES_FOLDER}/skyscanner_api_results.yml"
|
38
41
|
RESULT_FILE_3 = "#{FIXTURES_FOLDER}/airbnb_api_results.yml"
|
42
|
+
RESULT_FILE_4 = "#{FIXTURES_FOLDER}/geonames_api_results.yml"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: movlog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Wen
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-11-
|
13
|
+
date: 2016-11-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: http
|
@@ -195,9 +195,12 @@ files:
|
|
195
195
|
- bin/movlog
|
196
196
|
- lib/movlog.rb
|
197
197
|
- lib/movlog/airbnb_api.rb
|
198
|
+
- lib/movlog/airport.rb
|
199
|
+
- lib/movlog/geonames_api.rb
|
198
200
|
- lib/movlog/movie.rb
|
199
201
|
- lib/movlog/omdb_api.rb
|
200
202
|
- lib/movlog/room.rb
|
203
|
+
- lib/movlog/route.rb
|
201
204
|
- lib/movlog/routes.rb
|
202
205
|
- lib/movlog/runner.rb
|
203
206
|
- lib/movlog/skyscanner_api.rb
|
@@ -205,8 +208,10 @@ files:
|
|
205
208
|
- movlog.gemspec
|
206
209
|
- spec/airbnb_spec.rb
|
207
210
|
- spec/fixtures/cassettes/airbnb_api.yml
|
211
|
+
- spec/fixtures/cassettes/geonames_api.yml
|
208
212
|
- spec/fixtures/cassettes/omdb_api.yml
|
209
213
|
- spec/fixtures/cassettes/skyscanner_api.yml
|
214
|
+
- spec/geonames_spec.rb
|
210
215
|
- spec/omdb_spec.rb
|
211
216
|
- spec/skyscanner_spec.rb
|
212
217
|
- spec/spec_helper.rb
|
@@ -237,8 +242,10 @@ summary: Gets movie content from omdb
|
|
237
242
|
test_files:
|
238
243
|
- spec/airbnb_spec.rb
|
239
244
|
- spec/fixtures/cassettes/airbnb_api.yml
|
245
|
+
- spec/fixtures/cassettes/geonames_api.yml
|
240
246
|
- spec/fixtures/cassettes/omdb_api.yml
|
241
247
|
- spec/fixtures/cassettes/skyscanner_api.yml
|
248
|
+
- spec/geonames_spec.rb
|
242
249
|
- spec/omdb_spec.rb
|
243
250
|
- spec/skyscanner_spec.rb
|
244
251
|
- spec/spec_helper.rb
|