rail_feeds 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +8 -1
- data/.travis.yml +17 -4
- data/CHANGELOG.md +12 -0
- data/README.md +11 -7
- data/doc/guides/National Rail/Knowledge Base/National Service Indicator.md +21 -0
- data/doc/guides/Network Rail/CORPUS.md +7 -3
- data/doc/guides/Network Rail/SMART.md +6 -2
- data/doc/guides/Network Rail/Schedule.md +4 -4
- data/lib/rail_feeds/credentials.rb +30 -0
- data/lib/rail_feeds/http_client.rb +56 -0
- data/lib/rail_feeds/logging.rb +0 -2
- data/lib/rail_feeds/national_rail/credentials.rb +11 -0
- data/lib/rail_feeds/national_rail/http_client.rb +45 -0
- data/lib/rail_feeds/national_rail/knowledge_base/national_service_indicator.rb +100 -0
- data/lib/rail_feeds/national_rail/knowledge_base.rb +8 -0
- data/lib/rail_feeds/national_rail.rb +9 -0
- data/lib/rail_feeds/network_rail/corpus.rb +5 -6
- data/lib/rail_feeds/network_rail/credentials.rb +0 -11
- data/lib/rail_feeds/network_rail/http_client.rb +8 -44
- data/lib/rail_feeds/network_rail/schedule/association.rb +2 -2
- data/lib/rail_feeds/network_rail/schedule/data.rb +3 -2
- data/lib/rail_feeds/network_rail/schedule/days.rb +1 -0
- data/lib/rail_feeds/network_rail/schedule/fetcher.rb +1 -2
- data/lib/rail_feeds/network_rail/schedule/header/json.rb +2 -2
- data/lib/rail_feeds/network_rail/schedule/header.rb +0 -3
- data/lib/rail_feeds/network_rail/schedule/parser/json.rb +0 -2
- data/lib/rail_feeds/network_rail/schedule/parser.rb +1 -4
- data/lib/rail_feeds/network_rail/schedule/tiploc.rb +2 -2
- data/lib/rail_feeds/network_rail/schedule/train_schedule/location.rb +1 -4
- data/lib/rail_feeds/network_rail/schedule/train_schedule.rb +8 -12
- data/lib/rail_feeds/network_rail/schedule.rb +3 -10
- data/lib/rail_feeds/network_rail/smart.rb +17 -17
- data/lib/rail_feeds/network_rail/stomp_client.rb +2 -3
- data/lib/rail_feeds/network_rail.rb +0 -7
- data/lib/rail_feeds/version.rb +1 -1
- data/lib/rail_feeds.rb +40 -4
- data/rail_feeds.gemspec +28 -23
- data/spec/rail_feeds/credentials_spec.rb +28 -1
- data/spec/rail_feeds/http_client_spec.rb +75 -0
- data/spec/rail_feeds/national_rail/credentials_spec.rb +13 -0
- data/spec/rail_feeds/national_rail/http_client_spec.rb +57 -0
- data/spec/rail_feeds/national_rail/knowledge_base/national_service_indicator_spec.rb +122 -0
- data/spec/rail_feeds/national_rail/knowledge_base_spec.rb +4 -0
- data/spec/rail_feeds/national_rail_spec.rb +7 -0
- data/spec/rail_feeds/network_rail/corpus_spec.rb +2 -2
- data/spec/rail_feeds/network_rail/credentials_spec.rb +3 -12
- data/spec/rail_feeds/network_rail/http_client_spec.rb +7 -75
- data/spec/rail_feeds/network_rail/schedule/data_spec.rb +1 -1
- data/spec/rail_feeds/network_rail/smart_spec.rb +2 -2
- data/spec/rail_feeds/network_rail/stomp_client_spec.rb +1 -1
- metadata +48 -9
- data/file +0 -0
@@ -0,0 +1,122 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
describe RailFeeds::NationalRail::KnowledgeBase::NationalServiceIndicator do
|
4
|
+
let :xml do
|
5
|
+
<<~HEREDOC
|
6
|
+
<?xml version="1.0" encoding="utf-8"?>
|
7
|
+
<NSI xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://internal.nationalrail.co.uk/xml/XsdSchemas/External/Version4.0/nre-service-indicator-v4-0.xsd" xmlns="http://nationalrail.co.uk/xml/serviceindicator">
|
8
|
+
<TOC>
|
9
|
+
<TocCode>AW</TocCode>
|
10
|
+
<TocName>Arriva Trains Wales</TocName>
|
11
|
+
<Status>Good service</Status>
|
12
|
+
<StatusImage>icon-tick2.png</StatusImage>
|
13
|
+
<TwitterAccount>ArrivaTW</TwitterAccount>
|
14
|
+
<AdditionalInfo><![CDATA[Follow us on Twitter]]></AdditionalInfo>
|
15
|
+
</TOC>
|
16
|
+
<TOC>
|
17
|
+
<TocCode>WM</TocCode>
|
18
|
+
<TocName>West Midlands Railway</TocName>
|
19
|
+
<Status>Major delays on some routes</Status>
|
20
|
+
<StatusImage>icon-disruption.png</StatusImage>
|
21
|
+
<StatusDescription><![CDATA[An amended service is in operation]]></StatusDescription>
|
22
|
+
<ServiceGroup>
|
23
|
+
<GroupName>Aston</GroupName>
|
24
|
+
<CurrentDisruption>36DB32F7EB7F40ACACFF1D5CF7572D4C</CurrentDisruption>
|
25
|
+
<CustomDetail><![CDATA[Read about this disruption]]></CustomDetail>
|
26
|
+
<CustomURL>http://www.nationalrail.co.uk/</CustomURL>
|
27
|
+
</ServiceGroup>
|
28
|
+
<TwitterAccount>WestMidRailway</TwitterAccount>
|
29
|
+
<AdditionalInfo><![CDATA[Latest travel news]]></AdditionalInfo>
|
30
|
+
</TOC>
|
31
|
+
</NSI>
|
32
|
+
HEREDOC
|
33
|
+
end
|
34
|
+
let(:http_client) { double RailFeeds::NationalRail::HTTPClient }
|
35
|
+
let(:temp_file) { double Tempfile }
|
36
|
+
|
37
|
+
|
38
|
+
describe '::download' do
|
39
|
+
it 'Using default credentials' do
|
40
|
+
expect(RailFeeds::NationalRail::HTTPClient).to receive(:new)
|
41
|
+
.with(credentials: RailFeeds::NationalRail::Credentials).and_return(http_client)
|
42
|
+
expect(http_client).to receive(:download)
|
43
|
+
.with('darwin/api/staticfeeds/4.0/serviceIndicators', 'file')
|
44
|
+
described_class.download 'file'
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'Using passed credentials' do
|
48
|
+
credentials = double RailFeeds::NationalRail::Credentials
|
49
|
+
expect(RailFeeds::NationalRail::HTTPClient).to receive(:new)
|
50
|
+
.with(credentials: credentials).and_return(http_client)
|
51
|
+
expect(http_client).to receive(:download)
|
52
|
+
described_class.download 'file', credentials
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '::fetch' do
|
57
|
+
it 'Using default credentials' do
|
58
|
+
expect(RailFeeds::NationalRail::HTTPClient).to receive(:new)
|
59
|
+
.with(credentials: RailFeeds::NationalRail::Credentials).and_return(http_client)
|
60
|
+
expect(http_client).to receive(:fetch)
|
61
|
+
.with('darwin/api/staticfeeds/4.0/serviceIndicators').and_return(temp_file)
|
62
|
+
expect(described_class.fetch).to eq temp_file
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'Using passed credentials' do
|
66
|
+
credentials = double RailFeeds::NationalRail::Credentials
|
67
|
+
expect(RailFeeds::NationalRail::HTTPClient).to receive(:new)
|
68
|
+
.with(credentials: credentials).and_return(http_client)
|
69
|
+
expect(http_client).to receive(:fetch).and_return(temp_file)
|
70
|
+
expect(described_class.fetch(credentials)).to eq temp_file
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
it '::load_data' do
|
75
|
+
expect(File).to receive(:read).with('filename').and_return(xml)
|
76
|
+
data = described_class.load_file('filename')
|
77
|
+
|
78
|
+
expect(data[0].code).to eq 'AW'
|
79
|
+
expect(data[0].name).to eq 'Arriva Trains Wales'
|
80
|
+
expect(data[0].twitter_account).to eq 'ArrivaTW'
|
81
|
+
expect(data[0].additional_info).to eq 'Follow us on Twitter'
|
82
|
+
expect(data[0].status.title).to eq 'Good service'
|
83
|
+
expect(data[0].status.description).to eq nil
|
84
|
+
expect(data[0].status.image).to eq 'icon-tick2.png'
|
85
|
+
expect(data[0].service_groups).to eq []
|
86
|
+
|
87
|
+
expect(data[1].code).to eq 'WM'
|
88
|
+
expect(data[1].name).to eq 'West Midlands Railway'
|
89
|
+
expect(data[1].twitter_account).to eq 'WestMidRailway'
|
90
|
+
expect(data[1].additional_info).to eq 'Latest travel news'
|
91
|
+
expect(data[1].status.title).to eq 'Major delays on some routes'
|
92
|
+
expect(data[1].status.description).to eq 'An amended service is in operation'
|
93
|
+
expect(data[1].status.image).to eq 'icon-disruption.png'
|
94
|
+
expect(data[1].service_groups[0].disruption_id).to eq '36DB32F7EB7F40ACACFF1D5CF7572D4C'
|
95
|
+
expect(data[1].service_groups[0].name).to eq 'Aston'
|
96
|
+
expect(data[1].service_groups[0].detail).to eq 'Read about this disruption'
|
97
|
+
expect(data[1].service_groups[0].url).to eq 'http://www.nationalrail.co.uk/'
|
98
|
+
end
|
99
|
+
|
100
|
+
it '::fetch_data' do
|
101
|
+
expect(described_class).to receive(:fetch)
|
102
|
+
.with(credentials: RailFeeds::NationalRail::Credentials)
|
103
|
+
.and_yield(temp_file)
|
104
|
+
|
105
|
+
expect(temp_file).to receive(:read).and_return(xml)
|
106
|
+
expect(described_class).to receive(:parse_xml).with(xml)
|
107
|
+
described_class.fetch_data
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'Converts to string' do
|
111
|
+
expect(File).to receive(:read).with('filename').and_return(xml)
|
112
|
+
data = described_class.load_file('filename')
|
113
|
+
expect(data[0].to_s).to eq "AW - Arriva Trains Wales\n" \
|
114
|
+
"Good service - - icon-tick2.png\n\n" \
|
115
|
+
'@ArrivaTW - Follow us on Twitter'
|
116
|
+
expect(data[1].to_s).to eq "WM - West Midlands Railway\n" \
|
117
|
+
"Major delays on some routes - An amended service is in operation - icon-disruption.png\n" \
|
118
|
+
"Aston - Read about this disruption\n" \
|
119
|
+
"36DB32F7EB7F40ACACFF1D5CF7572D4C http://www.nationalrail.co.uk/\n" \
|
120
|
+
'@WestMidRailway - Latest travel news'
|
121
|
+
end
|
122
|
+
end
|
@@ -26,7 +26,7 @@ describe RailFeeds::NetworkRail::CORPUS do
|
|
26
26
|
expect(RailFeeds::NetworkRail::HTTPClient).to receive(:new)
|
27
27
|
.with(credentials: credentials).and_return(http_client)
|
28
28
|
expect(http_client).to receive(:download)
|
29
|
-
described_class.download 'file', credentials
|
29
|
+
described_class.download 'file', credentials
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -47,7 +47,7 @@ describe RailFeeds::NetworkRail::CORPUS do
|
|
47
47
|
expect(RailFeeds::NetworkRail::HTTPClient).to receive(:new)
|
48
48
|
.with(credentials: credentials).and_return(http_client)
|
49
49
|
expect(http_client).to receive(:fetch).and_return(temp_file)
|
50
|
-
expect(described_class.fetch(credentials
|
50
|
+
expect(described_class.fetch(credentials)).to eq temp_file
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -1,22 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
describe RailFeeds::NetworkRail::Credentials do
|
4
|
-
|
4
|
+
it 'Is a RailFeeds::Credentials' do
|
5
|
+
expect(described_class).to be < RailFeeds::Credentials
|
6
|
+
end
|
5
7
|
|
6
8
|
it 'Has seperate values to RailFeeds::Credentials' do
|
7
9
|
described_class.configure username: 'a', password: 'b'
|
8
10
|
expect(described_class.username).to_not eq RailFeeds::Credentials.username
|
9
11
|
expect(described_class.password).to_not eq RailFeeds::Credentials.password
|
10
12
|
end
|
11
|
-
|
12
|
-
describe 'Outputs an array' do
|
13
|
-
it '::to_a' do
|
14
|
-
described_class.configure username: 'user', password: 'pass'
|
15
|
-
expect(described_class.to_a).to eq ['user', 'pass']
|
16
|
-
end
|
17
|
-
|
18
|
-
it '#to_a' do
|
19
|
-
expect(subject.to_a).to eq ['user-i', 'pass-i']
|
20
|
-
end
|
21
|
-
end
|
22
13
|
end
|
@@ -1,88 +1,20 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
describe RailFeeds::NetworkRail::HTTPClient do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
describe '#download' do
|
8
|
-
let(:file) { double File }
|
9
|
-
|
10
|
-
it 'Saves the file' do
|
11
|
-
expect(URI).to receive(:parse).with('https://datafeeds.networkrail.co.uk/path').and_return(uri)
|
12
|
-
expect(uri).to receive(:open).and_return(temp_file)
|
13
|
-
expect(File).to receive(:open).with('file', 'w').and_yield(file)
|
14
|
-
expect(IO).to receive(:copy_stream).with(temp_file, file)
|
15
|
-
subject.download('path', 'file')
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'Adds credentials when getting path' do
|
19
|
-
credentials = RailFeeds::NetworkRail::Credentials.new(
|
20
|
-
username: 'user',
|
21
|
-
password: 'pass'
|
22
|
-
)
|
23
|
-
expect(URI).to receive(:parse).and_return(uri)
|
24
|
-
expect(uri).to receive(:open)
|
25
|
-
.with(http_basic_authentication: ['user', 'pass'])
|
26
|
-
.and_return(temp_file)
|
27
|
-
expect(File).to receive(:open).and_yield(file)
|
28
|
-
expect(IO).to receive(:copy_stream).with(temp_file, file)
|
29
|
-
subject = described_class.new credentials: credentials
|
30
|
-
subject.download('path', 'file')
|
31
|
-
end
|
4
|
+
it 'Is a RailFeeds::HTTPClient' do
|
5
|
+
expect(described_class).to be < RailFeeds::HTTPClient
|
6
|
+
end
|
32
7
|
|
33
|
-
|
34
|
-
|
35
|
-
username: 'a@example.com',
|
36
|
-
password: '!:@'
|
37
|
-
)
|
38
|
-
expect(URI).to receive(:parse).and_return(uri)
|
39
|
-
expect(uri).to receive(:open).and_return(temp_file)
|
40
|
-
expect(File).to receive(:open).and_yield(file)
|
41
|
-
expect(IO).to receive(:copy_stream).with(temp_file, file)
|
42
|
-
subject = described_class.new credentials: credentials
|
43
|
-
expect { subject.download('path', 'file') }.to_not raise_error
|
44
|
-
end
|
8
|
+
it 'has correct default credentials' do
|
9
|
+
expect(subject.send(:credentials)).to eq RailFeeds::NetworkRail::Credentials
|
45
10
|
end
|
46
11
|
|
47
12
|
describe '#fetch' do
|
48
|
-
it '
|
13
|
+
it 'Adds server to path then delegates to super' do
|
14
|
+
uri = double URI
|
49
15
|
expect(URI).to receive(:parse).with('https://datafeeds.networkrail.co.uk/path').and_return(uri)
|
50
|
-
expect(uri).to receive(:open).and_return(temp_file)
|
51
|
-
expect { |a| subject.fetch('path', &a) }.to yield_with_args(temp_file)
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'Adds credentials when getting path' do
|
55
|
-
credentials = RailFeeds::NetworkRail::Credentials.new(
|
56
|
-
username: 'user',
|
57
|
-
password: 'pass'
|
58
|
-
)
|
59
|
-
expect(URI).to receive(:parse).and_return(uri)
|
60
16
|
expect(uri).to receive(:open)
|
61
|
-
.with(http_basic_authentication: ['user', 'pass'])
|
62
|
-
.and_return(temp_file)
|
63
|
-
subject = described_class.new credentials: credentials
|
64
17
|
subject.fetch('path') {}
|
65
18
|
end
|
66
|
-
|
67
|
-
it 'Handles special characters in credentials' do
|
68
|
-
credentials = RailFeeds::NetworkRail::Credentials.new(
|
69
|
-
username: 'a@example.com',
|
70
|
-
password: '!:@'
|
71
|
-
)
|
72
|
-
expect(URI).to receive(:parse).and_return(uri)
|
73
|
-
expect(uri).to receive(:open).and_return(temp_file)
|
74
|
-
subject = described_class.new credentials: credentials
|
75
|
-
expect { subject.fetch('path') {} }.to_not raise_error
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
describe '#fetch_unzipped' do
|
80
|
-
it 'Returns what Zlib::GzipReader.open does' do
|
81
|
-
reader = double Zlib::GzipReader
|
82
|
-
expect(subject).to receive(:fetch).with('path').and_yield(temp_file)
|
83
|
-
expect(temp_file).to receive(:path).and_return('gz_file_path')
|
84
|
-
expect(Zlib::GzipReader).to receive(:open).with('gz_file_path').and_return(reader)
|
85
|
-
expect { |a| subject.fetch_unzipped('path', &a) }.to yield_with_args(reader)
|
86
|
-
end
|
87
19
|
end
|
88
20
|
end
|
@@ -7,7 +7,7 @@ class DummyParserForDataTests
|
|
7
7
|
@events = {}
|
8
8
|
end
|
9
9
|
|
10
|
-
def
|
10
|
+
def parse_file(file)
|
11
11
|
filename = File.join RSPEC_FIXTURES, 'network_rail', 'schedule', 'data', "#{file}.yaml"
|
12
12
|
YAML.load(File.read(filename)).each do |event, data|
|
13
13
|
if data.nil?
|
@@ -31,7 +31,7 @@ describe RailFeeds::NetworkRail::SMART do
|
|
31
31
|
expect(RailFeeds::NetworkRail::HTTPClient).to receive(:new)
|
32
32
|
.with(credentials: credentials).and_return(http_client)
|
33
33
|
expect(http_client).to receive(:download)
|
34
|
-
described_class.download 'file', credentials
|
34
|
+
described_class.download 'file', credentials
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -52,7 +52,7 @@ describe RailFeeds::NetworkRail::SMART do
|
|
52
52
|
expect(RailFeeds::NetworkRail::HTTPClient).to receive(:new)
|
53
53
|
.with(credentials: credentials).and_return(http_client)
|
54
54
|
expect(http_client).to receive(:fetch).and_return(temp_file)
|
55
|
-
expect(described_class.fetch(credentials
|
55
|
+
expect(described_class.fetch(credentials)).to eq temp_file
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
@@ -132,7 +132,7 @@ describe RailFeeds::NetworkRail::StompClient do
|
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
135
|
-
describe 'Delegates methods to Stomp::Client' do
|
135
|
+
describe 'Delegates methods to ::Stomp::Client' do
|
136
136
|
delegates = %i[
|
137
137
|
ack acknowledge nack unreceive create_error_handler open? closed? join
|
138
138
|
running? begin abort commit unsubscribe uuid poll hbsend_interval
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rail_feeds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Gauld
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.8'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.8'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: stomp
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,14 +140,28 @@ dependencies:
|
|
126
140
|
requirements:
|
127
141
|
- - "~>"
|
128
142
|
- !ruby/object:Gem::Version
|
129
|
-
version: 0.
|
143
|
+
version: '0.67'
|
144
|
+
type: :development
|
145
|
+
prerelease: false
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - "~>"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0.67'
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: rubocop-performance
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - "~>"
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '1.1'
|
130
158
|
type: :development
|
131
159
|
prerelease: false
|
132
160
|
version_requirements: !ruby/object:Gem::Requirement
|
133
161
|
requirements:
|
134
162
|
- - "~>"
|
135
163
|
- !ruby/object:Gem::Version
|
136
|
-
version:
|
164
|
+
version: '1.1'
|
137
165
|
- !ruby/object:Gem::Dependency
|
138
166
|
name: simplecov
|
139
167
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,13 +209,19 @@ files:
|
|
181
209
|
- README.md
|
182
210
|
- Rakefile
|
183
211
|
- doc/guides/Logging.md
|
212
|
+
- doc/guides/National Rail/Knowledge Base/National Service Indicator.md
|
184
213
|
- doc/guides/Network Rail/CORPUS.md
|
185
214
|
- doc/guides/Network Rail/SMART.md
|
186
215
|
- doc/guides/Network Rail/Schedule.md
|
187
|
-
- file
|
188
216
|
- lib/rail_feeds.rb
|
189
217
|
- lib/rail_feeds/credentials.rb
|
218
|
+
- lib/rail_feeds/http_client.rb
|
190
219
|
- lib/rail_feeds/logging.rb
|
220
|
+
- lib/rail_feeds/national_rail.rb
|
221
|
+
- lib/rail_feeds/national_rail/credentials.rb
|
222
|
+
- lib/rail_feeds/national_rail/http_client.rb
|
223
|
+
- lib/rail_feeds/national_rail/knowledge_base.rb
|
224
|
+
- lib/rail_feeds/national_rail/knowledge_base/national_service_indicator.rb
|
191
225
|
- lib/rail_feeds/network_rail.rb
|
192
226
|
- lib/rail_feeds/network_rail/corpus.rb
|
193
227
|
- lib/rail_feeds/network_rail/credentials.rb
|
@@ -225,7 +259,13 @@ files:
|
|
225
259
|
- spec/fixtures/network_rail/schedule/parser/train_delete.json
|
226
260
|
- spec/fixtures/network_rail/schedule/train_schedule/json-data.yaml
|
227
261
|
- spec/rail_feeds/credentials_spec.rb
|
262
|
+
- spec/rail_feeds/http_client_spec.rb
|
228
263
|
- spec/rail_feeds/logging_spec.rb
|
264
|
+
- spec/rail_feeds/national_rail/credentials_spec.rb
|
265
|
+
- spec/rail_feeds/national_rail/http_client_spec.rb
|
266
|
+
- spec/rail_feeds/national_rail/knowledge_base/national_service_indicator_spec.rb
|
267
|
+
- spec/rail_feeds/national_rail/knowledge_base_spec.rb
|
268
|
+
- spec/rail_feeds/national_rail_spec.rb
|
229
269
|
- spec/rail_feeds/network_rail/corpus_spec.rb
|
230
270
|
- spec/rail_feeds/network_rail/credentials_spec.rb
|
231
271
|
- spec/rail_feeds/network_rail/http_client_spec.rb
|
@@ -267,15 +307,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
267
307
|
requirements:
|
268
308
|
- - ">="
|
269
309
|
- !ruby/object:Gem::Version
|
270
|
-
version: '
|
310
|
+
version: '2.4'
|
271
311
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
272
312
|
requirements:
|
273
313
|
- - ">="
|
274
314
|
- !ruby/object:Gem::Version
|
275
|
-
version:
|
315
|
+
version: 2.6.14
|
276
316
|
requirements: []
|
277
|
-
|
278
|
-
rubygems_version: 2.7.6
|
317
|
+
rubygems_version: 3.0.3
|
279
318
|
signing_key:
|
280
319
|
specification_version: 4
|
281
320
|
summary: Make use of the various open data rails feeds in the UK.
|
data/file
DELETED
File without changes
|