movlog 0.2.12 → 0.3.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.
- 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
|