rail_feeds 0.0.1 → 0.0.2
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/.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
|