mvg-live 1.0.1 → 2.0.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 +7 -0
- data/.gitignore +0 -1
- data/.travis.yml +2 -2
- data/Gemfile +1 -1
- data/Gemfile.lock +85 -0
- data/README.md +16 -6
- data/Rakefile +4 -4
- data/bin/mvg +1 -3
- data/bin/mvg_json +1 -3
- data/fixtures/vcr_cassettes/MVG_Live/HTTP/should_build_the_right_query.json +1 -0
- data/fixtures/vcr_cassettes/MVG_Live/HTTP/should_provide_cached_access_to_the_response_object_through_response_obj.json +1 -0
- data/fixtures/vcr_cassettes/MVG_Live/Parser/unknown_station/should_inform_about_incorrent_stations_and_possible_fits.json +1 -0
- data/fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/both/should_have_the_same_number_of_entries.json +1 -0
- data/fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/display/should_have_the_correct_entry_size.json +1 -0
- data/fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/display/should_have_the_correct_order_.json +1 -0
- data/fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/sorted/should_have_the_correct_entry_size.json +1 -0
- data/fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/sorted/should_have_the_correct_order.json +1 -0
- data/lib/mvg/live.rb +8 -11
- data/lib/mvg/live/cli.rb +17 -20
- data/lib/mvg/live/encoding.rb +1 -1
- data/lib/mvg/live/http.rb +5 -6
- data/lib/mvg/live/parser.rb +2 -3
- data/lib/mvg/live/version.rb +1 -1
- data/mvg-live.gemspec +12 -18
- data/spec/factories.rb +13 -13
- data/spec/mvg_live_spec.rb +105 -66
- data/spec/spec_helper.rb +4 -4
- metadata +56 -125
- data/Guardfile +0 -8
data/spec/factories.rb
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
3
|
FactoryGirl.define do
|
4
|
-
factory :live
|
4
|
+
factory :live do
|
5
5
|
end
|
6
6
|
|
7
|
-
factory :westfriedhof, :
|
8
|
-
station
|
9
|
-
transports [
|
7
|
+
factory :westfriedhof, class: MVG::Live do
|
8
|
+
station 'Westfriedhof'
|
9
|
+
transports [:u, :tram, :bus]
|
10
10
|
end
|
11
11
|
|
12
|
-
factory :hackerbruecke, :
|
12
|
+
factory :hackerbruecke, class: MVG::Live do
|
13
13
|
station "Hackerbrücke"
|
14
|
-
transports [
|
14
|
+
transports [:tram, :s]
|
15
15
|
end
|
16
16
|
|
17
|
-
factory :goethe_institut, :
|
18
|
-
station
|
19
|
-
transports [
|
17
|
+
factory :goethe_institut, class: MVG::Live do
|
18
|
+
station 'Goethe-Institut'
|
19
|
+
transports [:tram]
|
20
20
|
end
|
21
21
|
|
22
|
-
factory :leonrodplatz, :
|
23
|
-
station
|
24
|
-
transports [
|
22
|
+
factory :leonrodplatz, class: MVG::Live do
|
23
|
+
station 'Leonrodplatz'
|
24
|
+
transports [:tram, :bus]
|
25
25
|
end
|
26
|
-
end
|
26
|
+
end
|
data/spec/mvg_live_spec.rb
CHANGED
@@ -1,147 +1,187 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
|
-
describe MVG::Live do
|
5
|
-
|
6
|
-
before do
|
7
|
-
|
8
|
-
|
9
|
-
end
|
10
|
-
|
11
|
-
after do
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
describe
|
16
|
-
it
|
4
|
+
describe MVG::Live, vcr: { record: :new_episodes } do
|
5
|
+
#
|
6
|
+
# before do
|
7
|
+
# # https://github.com/myronmarston/vcr/wiki/Usage-with-MiniTest
|
8
|
+
# VCR.insert_cassette __name__
|
9
|
+
# end
|
10
|
+
#
|
11
|
+
# after do
|
12
|
+
# VCR.eject_cassette
|
13
|
+
# end
|
14
|
+
|
15
|
+
describe 'when initialized' do
|
16
|
+
it 'can be created with no arguments' do
|
17
17
|
mvglive = MVG::Live.new
|
18
18
|
mvglive.must_be_instance_of MVG::Live
|
19
19
|
end
|
20
20
|
|
21
|
-
it
|
21
|
+
it 'can be created for a specific station' do
|
22
22
|
mvglive = MVG::Live.new 'Westfriedhof'
|
23
23
|
mvglive.station.must_match 'Westfriedhof'
|
24
24
|
end
|
25
25
|
|
26
|
-
it
|
27
|
-
transports = [
|
28
|
-
mvglive = MVG::Live.new 'Westfriedhof', :
|
26
|
+
it 'can be created for a specific transports' do
|
27
|
+
transports = [:u, :bus, :tram, :s]
|
28
|
+
mvglive = MVG::Live.new 'Westfriedhof', transports: transports
|
29
29
|
mvglive.transports.must_be_same_as transports
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
describe
|
34
|
-
it
|
33
|
+
describe 'validations' do
|
34
|
+
it 'should not valid without a station' do
|
35
35
|
mvglive = MVG::Live.new
|
36
36
|
mvglive.station = nil
|
37
37
|
mvglive.valid?.must_equal false
|
38
38
|
end
|
39
39
|
|
40
|
-
it
|
40
|
+
it 'should be valid with a station and the default transports' do
|
41
41
|
mvglive = build(:westfriedhof)
|
42
42
|
mvglive.valid?.must_equal true
|
43
43
|
end
|
44
44
|
|
45
|
-
it
|
46
|
-
transports = [
|
47
|
-
mvglive = MVG::Live.new 'Vom äh Hauptbahnof äh abfliegen', :
|
45
|
+
it 'should not be valid with invalid transports' do
|
46
|
+
transports = [:transrapid, :express_s_bahn_zum_flughafen]
|
47
|
+
mvglive = MVG::Live.new 'Vom äh Hauptbahnof äh abfliegen', transports: transports
|
48
48
|
mvglive.valid?.must_equal false
|
49
49
|
mvglive.errors.keys.must_include :transports
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
describe
|
54
|
-
it
|
53
|
+
describe 'HTTP' do
|
54
|
+
it 'should return a faraday connection object' do
|
55
55
|
mvglive = build(:westfriedhof)
|
56
56
|
mvglive.connection.must_be_instance_of Faraday::Connection
|
57
57
|
end
|
58
58
|
|
59
|
-
it
|
59
|
+
it 'should point to the correct host' do
|
60
60
|
mvglive = build(:westfriedhof)
|
61
61
|
mvglive.connection.host.must_equal 'www.mvg-live.de'
|
62
62
|
end
|
63
63
|
|
64
|
-
it
|
64
|
+
it 'should build the right query' do
|
65
65
|
mvglive = build(:westfriedhof)
|
66
|
-
mvglive.retrieve.env[:url].to_s
|
66
|
+
mvglive.retrieve.env[:url].to_s
|
67
|
+
.must_equal 'http://www.mvg-live.de' \
|
68
|
+
'/ims/dfiStaticAuswahl.svc' \
|
69
|
+
'?bus=checked&haltestelle=Westfriedhof' \
|
70
|
+
'&tram=checked&ubahn=checked'
|
67
71
|
end
|
68
72
|
|
69
|
-
it
|
73
|
+
it 'should provide cached access to the response object through @response_obj' do
|
70
74
|
mvglive = build(:westfriedhof)
|
71
75
|
mvglive.retrieve
|
72
76
|
mvglive.response_obj.must_be_instance_of Faraday::Response
|
73
77
|
end
|
74
78
|
|
75
|
-
it
|
79
|
+
it 'should apply some station hacks'
|
76
80
|
end
|
77
81
|
|
78
|
-
describe
|
79
|
-
describe
|
80
|
-
it
|
82
|
+
describe 'Parser' do
|
83
|
+
describe 'unknown station' do
|
84
|
+
it 'should inform about incorrent stations and possible fits' do
|
81
85
|
@mvglive = MVG::Live.new 'Moosfeld'
|
82
86
|
@mvglive.fetch
|
83
87
|
@mvglive.station_unknown.must_equal true
|
84
88
|
end
|
85
89
|
end
|
86
90
|
|
87
|
-
describe
|
91
|
+
describe 'with S-Bahn' do
|
88
92
|
before do
|
89
93
|
@mvglive = build(:hackerbruecke)
|
90
94
|
@mvglive.retrieve
|
91
95
|
@mvglive.parse
|
92
96
|
end
|
93
97
|
|
94
|
-
describe
|
95
|
-
it
|
98
|
+
describe 'display' do
|
99
|
+
it 'should have the correct entry size' do
|
96
100
|
@mvglive.result_display.must_be_instance_of Array
|
97
|
-
@mvglive.result_display.size.must_equal
|
101
|
+
@mvglive.result_display.size.must_equal 20
|
98
102
|
end
|
99
103
|
|
100
|
-
it
|
101
|
-
@mvglive.result_display.map
|
102
|
-
[
|
103
|
-
|
104
|
-
[
|
105
|
-
[
|
106
|
-
[
|
104
|
+
it 'should have the correct order ' do
|
105
|
+
@mvglive.result_display.map do |e|
|
106
|
+
[e[:line], e[:destination], e[:minutes]]
|
107
|
+
end.must_equal [
|
108
|
+
['17', "Schwanseestraße", 2],
|
109
|
+
['16', 'St. Emmeram', 2],
|
110
|
+
['17', "Amalienburgstraße", 4],
|
111
|
+
['16', 'St. Emmeram', 7],
|
112
|
+
['16', 'Romanplatz', 10],
|
113
|
+
['17', "Schwanseestraße", 12],
|
114
|
+
['17', "Amalienburgstraße", 15],
|
115
|
+
['S2', 'Erding', 1],
|
116
|
+
['S2', "Altomünster", 2],
|
117
|
+
['S2', 'Petershausen(Obb)', 2],
|
118
|
+
['S8', "München Flughafen Terminal", 4],
|
119
|
+
['S6', 'Tutzing', 4],
|
120
|
+
['S7', 'Wolfratshausen', 6],
|
121
|
+
['S1', "München Ost", 7],
|
122
|
+
['S1', "München Ost", 7],
|
123
|
+
['S4', 'Grafing Bahnhof', 9],
|
124
|
+
['S3', 'Mammendorf', 10],
|
125
|
+
['S3', 'Holzkirchen', 12],
|
126
|
+
['S4', 'Geltendorf', 14],
|
127
|
+
['S1', "München Flughafen Terminal", 16]
|
107
128
|
]
|
108
129
|
end
|
109
130
|
end
|
110
131
|
|
111
|
-
describe
|
112
|
-
it
|
132
|
+
describe 'sorted' do
|
133
|
+
it 'should have the correct entry size' do
|
113
134
|
@mvglive.result_sorted.must_be_instance_of Array
|
114
|
-
@mvglive.result_sorted.size.must_equal
|
135
|
+
@mvglive.result_sorted.size.must_equal 20
|
115
136
|
end
|
116
137
|
|
117
|
-
it
|
118
|
-
@mvglive.result_sorted.map{ |e| [
|
119
|
-
[
|
120
|
-
[
|
121
|
-
[
|
122
|
-
[
|
123
|
-
[
|
124
|
-
[
|
138
|
+
it 'should have the correct order' do
|
139
|
+
@mvglive.result_sorted.map { |e| [e[:line], e[:destination], e[:minutes]] }.must_equal [
|
140
|
+
['S2', 'Erding', 1],
|
141
|
+
['S2', 'Petershausen(Obb)', 2],
|
142
|
+
['16', 'St. Emmeram', 2],
|
143
|
+
['17', "Schwanseestraße", 2],
|
144
|
+
['S2', "Altomünster", 2],
|
145
|
+
['17', "Amalienburgstraße", 4],
|
146
|
+
['S6', 'Tutzing', 4],
|
147
|
+
['S8', "München Flughafen Terminal", 4],
|
148
|
+
['S7', 'Wolfratshausen', 6],
|
149
|
+
['16', 'St. Emmeram', 7],
|
150
|
+
['S1', "München Ost", 7],
|
151
|
+
['S1', "München Ost", 7],
|
152
|
+
['S4', 'Grafing Bahnhof', 9],
|
153
|
+
['16', 'Romanplatz', 10],
|
154
|
+
['S3', 'Mammendorf', 10],
|
155
|
+
['17', "Schwanseestraße", 12],
|
156
|
+
['S3', 'Holzkirchen', 12],
|
157
|
+
['S4', 'Geltendorf', 14],
|
158
|
+
['17', "Amalienburgstraße", 15],
|
159
|
+
['S1', "München Flughafen Terminal", 16]
|
125
160
|
]
|
126
161
|
end
|
127
162
|
end
|
128
163
|
|
129
|
-
describe
|
130
|
-
it
|
164
|
+
describe 'both' do
|
165
|
+
it 'should have the same number of entries' do
|
131
166
|
@mvglive.result_sorted.size.must_equal @mvglive.result_display.size
|
132
167
|
end
|
133
168
|
end
|
134
|
-
|
135
169
|
end
|
136
170
|
end
|
137
171
|
|
138
|
-
describe
|
139
|
-
it
|
140
|
-
MVG::Live.any_instance.expects(:cli_station_hacks_for)
|
141
|
-
|
172
|
+
describe 'CLI' do
|
173
|
+
it 'should apply convenience hacks on station names' do
|
174
|
+
MVG::Live.any_instance.expects(:cli_station_hacks_for)
|
175
|
+
.with('Stachus').returns('Karlsplatz (Stachus)')
|
176
|
+
MVG::Live.any_instance.expects(:cli_station_hacks_for)
|
177
|
+
.with('Karlsplatz').returns('Karlsplatz (Stachus)')
|
178
|
+
MVG::Live.any_instance.expects(:cli_station_hacks_for)
|
179
|
+
.with('Moosach Bf').returns('Moosach Bf.')
|
180
|
+
MVG::Live.any_instance.expects(:cli_station_hacks_for)
|
181
|
+
.with('Moosach Bahnhof').returns('Moosach Bf.')
|
142
182
|
end
|
143
183
|
|
144
|
-
it
|
184
|
+
it 'should apply the following convenince hacks' do
|
145
185
|
hacks = [
|
146
186
|
['Stachus', 'Karlsplatz (Stachus)'],
|
147
187
|
['Karlsplatz', 'Karlsplatz (Stachus)'],
|
@@ -156,9 +196,8 @@ describe MVG::Live do
|
|
156
196
|
end
|
157
197
|
end
|
158
198
|
|
159
|
-
describe
|
160
|
-
describe
|
199
|
+
describe 'Output' do
|
200
|
+
describe 'JSON' do
|
161
201
|
end
|
162
202
|
end
|
163
|
-
|
164
203
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -2,7 +2,8 @@ require 'rubygems'
|
|
2
2
|
require 'simplecov'
|
3
3
|
require 'minitest/spec'
|
4
4
|
require 'minitest/autorun'
|
5
|
-
require '
|
5
|
+
require 'minitest-vcr'
|
6
|
+
require 'mocha/test_unit'
|
6
7
|
require 'vcr'
|
7
8
|
require 'factory_girl'
|
8
9
|
|
@@ -11,10 +12,8 @@ SimpleCov.command_name 'test'
|
|
11
12
|
|
12
13
|
require 'mvg/live'
|
13
14
|
|
14
|
-
|
15
15
|
class MiniTest::Spec
|
16
16
|
include FactoryGirl::Syntax::Methods
|
17
|
-
alias :method_name :__name__ if defined? :__name__
|
18
17
|
end
|
19
18
|
|
20
19
|
FactoryGirl.find_definitions
|
@@ -22,6 +21,7 @@ FactoryGirl.find_definitions
|
|
22
21
|
VCR.configure do |c|
|
23
22
|
c.cassette_library_dir = 'fixtures/vcr_cassettes'
|
24
23
|
c.hook_into :faraday
|
25
|
-
c.default_cassette_options = { :
|
24
|
+
c.default_cassette_options = { record: :new_episodes, serialize_with: :json, preserve_exact_body_bytes: true }
|
26
25
|
end
|
27
26
|
|
27
|
+
MinitestVcr::Spec.configure!
|
metadata
CHANGED
@@ -1,254 +1,181 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mvg-live
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Roland Moriz
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-04-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: minitest
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: minitest-reporters
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: factory_girl
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
61
|
+
version: 4.1.0
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
68
|
+
version: 4.1.0
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
|
-
name: vcr
|
70
|
+
name: minitest-vcr
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
75
|
+
version: '1.4'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: growl
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
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: guard
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ! '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
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
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: guard-minitest
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ! '>='
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: '0'
|
134
|
-
type: :development
|
135
|
-
prerelease: false
|
136
|
-
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ! '>='
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '0'
|
82
|
+
version: '1.4'
|
142
83
|
- !ruby/object:Gem::Dependency
|
143
84
|
name: pry
|
144
85
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
86
|
requirements:
|
147
|
-
- -
|
87
|
+
- - ">="
|
148
88
|
- !ruby/object:Gem::Version
|
149
89
|
version: '0'
|
150
90
|
type: :development
|
151
91
|
prerelease: false
|
152
92
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
93
|
requirements:
|
155
|
-
- -
|
94
|
+
- - ">="
|
156
95
|
- !ruby/object:Gem::Version
|
157
96
|
version: '0'
|
158
97
|
- !ruby/object:Gem::Dependency
|
159
98
|
name: mocha
|
160
99
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
100
|
requirements:
|
163
|
-
- - ~>
|
101
|
+
- - "~>"
|
164
102
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
103
|
+
version: '1.1'
|
166
104
|
type: :development
|
167
105
|
prerelease: false
|
168
106
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
107
|
requirements:
|
171
|
-
- - ~>
|
108
|
+
- - "~>"
|
172
109
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
110
|
+
version: '1.1'
|
174
111
|
- !ruby/object:Gem::Dependency
|
175
112
|
name: simplecov
|
176
113
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
114
|
requirements:
|
179
|
-
- -
|
115
|
+
- - ">="
|
180
116
|
- !ruby/object:Gem::Version
|
181
117
|
version: '0'
|
182
118
|
type: :development
|
183
119
|
prerelease: false
|
184
120
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
121
|
requirements:
|
187
|
-
- -
|
122
|
+
- - ">="
|
188
123
|
- !ruby/object:Gem::Version
|
189
124
|
version: '0'
|
190
125
|
- !ruby/object:Gem::Dependency
|
191
126
|
name: activemodel
|
192
127
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
128
|
requirements:
|
195
|
-
- - ~>
|
129
|
+
- - "~>"
|
196
130
|
- !ruby/object:Gem::Version
|
197
|
-
version:
|
131
|
+
version: '4.2'
|
198
132
|
type: :runtime
|
199
133
|
prerelease: false
|
200
134
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
135
|
requirements:
|
203
|
-
- - ~>
|
136
|
+
- - "~>"
|
204
137
|
- !ruby/object:Gem::Version
|
205
|
-
version:
|
138
|
+
version: '4.2'
|
206
139
|
- !ruby/object:Gem::Dependency
|
207
140
|
name: faraday
|
208
141
|
requirement: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
142
|
requirements:
|
211
|
-
- - ~>
|
143
|
+
- - "~>"
|
212
144
|
- !ruby/object:Gem::Version
|
213
|
-
version: 0.
|
145
|
+
version: '0.9'
|
214
146
|
type: :runtime
|
215
147
|
prerelease: false
|
216
148
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
149
|
requirements:
|
219
|
-
- - ~>
|
150
|
+
- - "~>"
|
220
151
|
- !ruby/object:Gem::Version
|
221
|
-
version: 0.
|
152
|
+
version: '0.9'
|
222
153
|
- !ruby/object:Gem::Dependency
|
223
154
|
name: nokogiri
|
224
155
|
requirement: !ruby/object:Gem::Requirement
|
225
|
-
none: false
|
226
156
|
requirements:
|
227
|
-
- - ~>
|
157
|
+
- - "~>"
|
228
158
|
- !ruby/object:Gem::Version
|
229
|
-
version: 1.
|
159
|
+
version: '1.6'
|
230
160
|
type: :runtime
|
231
161
|
prerelease: false
|
232
162
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
none: false
|
234
163
|
requirements:
|
235
|
-
- - ~>
|
164
|
+
- - "~>"
|
236
165
|
- !ruby/object:Gem::Version
|
237
|
-
version: 1.
|
166
|
+
version: '1.6'
|
238
167
|
- !ruby/object:Gem::Dependency
|
239
|
-
name:
|
168
|
+
name: multi_json
|
240
169
|
requirement: !ruby/object:Gem::Requirement
|
241
|
-
none: false
|
242
170
|
requirements:
|
243
|
-
- -
|
171
|
+
- - ">="
|
244
172
|
- !ruby/object:Gem::Version
|
245
173
|
version: '0'
|
246
174
|
type: :runtime
|
247
175
|
prerelease: false
|
248
176
|
version_requirements: !ruby/object:Gem::Requirement
|
249
|
-
none: false
|
250
177
|
requirements:
|
251
|
-
- -
|
178
|
+
- - ">="
|
252
179
|
- !ruby/object:Gem::Version
|
253
180
|
version: '0'
|
254
181
|
description: A CLI and ruby client for mvg-live.de, the real-time interface to Munich's
|
@@ -261,15 +188,23 @@ executables:
|
|
261
188
|
extensions: []
|
262
189
|
extra_rdoc_files: []
|
263
190
|
files:
|
264
|
-
- .gitignore
|
265
|
-
- .travis.yml
|
191
|
+
- ".gitignore"
|
192
|
+
- ".travis.yml"
|
266
193
|
- Gemfile
|
267
|
-
-
|
194
|
+
- Gemfile.lock
|
268
195
|
- LICENSE
|
269
196
|
- README.md
|
270
197
|
- Rakefile
|
271
198
|
- bin/mvg
|
272
199
|
- bin/mvg_json
|
200
|
+
- fixtures/vcr_cassettes/MVG_Live/HTTP/should_build_the_right_query.json
|
201
|
+
- fixtures/vcr_cassettes/MVG_Live/HTTP/should_provide_cached_access_to_the_response_object_through_response_obj.json
|
202
|
+
- fixtures/vcr_cassettes/MVG_Live/Parser/unknown_station/should_inform_about_incorrent_stations_and_possible_fits.json
|
203
|
+
- fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/both/should_have_the_same_number_of_entries.json
|
204
|
+
- fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/display/should_have_the_correct_entry_size.json
|
205
|
+
- fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/display/should_have_the_correct_order_.json
|
206
|
+
- fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/sorted/should_have_the_correct_entry_size.json
|
207
|
+
- fixtures/vcr_cassettes/MVG_Live/Parser/with_S-Bahn/sorted/should_have_the_correct_order.json
|
273
208
|
- fixtures/vcr_cassettes/test_0001_should_apply_convenience_hacks_on_station_names.json
|
274
209
|
- fixtures/vcr_cassettes/test_0001_should_apply_some_convenience_hacks_on_station_names.json
|
275
210
|
- fixtures/vcr_cassettes/test_0001_should_have_the_correct_entry_size.json
|
@@ -296,30 +231,26 @@ files:
|
|
296
231
|
- spec/spec_helper.rb
|
297
232
|
homepage: ''
|
298
233
|
licenses: []
|
234
|
+
metadata: {}
|
299
235
|
post_install_message:
|
300
236
|
rdoc_options: []
|
301
237
|
require_paths:
|
302
238
|
- lib
|
303
239
|
required_ruby_version: !ruby/object:Gem::Requirement
|
304
|
-
none: false
|
305
240
|
requirements:
|
306
|
-
- -
|
241
|
+
- - ">="
|
307
242
|
- !ruby/object:Gem::Version
|
308
243
|
version: 1.9.2
|
309
244
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
310
|
-
none: false
|
311
245
|
requirements:
|
312
|
-
- -
|
246
|
+
- - ">="
|
313
247
|
- !ruby/object:Gem::Version
|
314
248
|
version: '0'
|
315
|
-
segments:
|
316
|
-
- 0
|
317
|
-
hash: 3124371489551250366
|
318
249
|
requirements: []
|
319
250
|
rubyforge_project: mvg-live
|
320
|
-
rubygems_version:
|
251
|
+
rubygems_version: 2.4.5.1
|
321
252
|
signing_key:
|
322
|
-
specification_version:
|
253
|
+
specification_version: 4
|
323
254
|
summary: A CLI and ruby client for mvg-live.de
|
324
255
|
test_files:
|
325
256
|
- spec/factories.rb
|