atco 1.0.4 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -0
- data/lib/atco/stop.rb +8 -1
- data/lib/atco/version.rb +1 -1
- data/lib/atco.rb +9 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ddb4c619b9d60d92fa99bc37e0df7f1181e5f42d6e001757284077eadbc597b
|
4
|
+
data.tar.gz: d5c8ebaa0bcec7f07a447a78e20d77727926de121616b700103fb06719cd2c1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bae3d2d4b0ace8e394497fba4457f76135940198b10fa05a630ff789efaec217d85cc87406dfca5e338c9aa1e16ee2dd4f62fd039c39066c9235c8b888e9368c
|
7
|
+
data.tar.gz: 44e57ff1c7f56a5b0e1930f2a1fbbd6ec22490fd25608d713f760194520639e509015d38d900587021854d8fbc9160233dbf852d0d1bb2df2d684b3915e18114
|
data/README.md
CHANGED
@@ -35,3 +35,9 @@ result = Atco.parse('SVRTMAO009A-20091005.cif) # an example data file in the rep
|
|
35
35
|
journies: {…}
|
36
36
|
}
|
37
37
|
```
|
38
|
+
|
39
|
+
### Author & Contributors
|
40
|
+
|
41
|
+
The `ATCO-CIF` Ruby library was originally authored by David Rice [@davidjrice](https://github.com/davidjrice) in response to an FOI request to [Translink](https://www.translink.co.uk) for there timetable data as part of an [OpenDataNI](https://admin.opendatani.gov.uk) initiative.
|
42
|
+
|
43
|
+
See [CONTRIBUTORS.md](http://github.com/davidjrice/atco/blob/master/CONTRIBUTORS.md)
|
data/lib/atco/stop.rb
CHANGED
@@ -3,7 +3,12 @@
|
|
3
3
|
module Atco
|
4
4
|
# Atco::Stop is a class to abstract ATCO-CIF Origin, Intermediate and Destination (Stop) records.
|
5
5
|
class Stop
|
6
|
-
attr_accessor :bay_number,
|
6
|
+
attr_accessor :bay_number,
|
7
|
+
:location,
|
8
|
+
:timing_point_indicator,
|
9
|
+
:fare_stage_indicator,
|
10
|
+
:published_arrival_time,
|
11
|
+
:published_departure_time,
|
7
12
|
:record_identity
|
8
13
|
|
9
14
|
def origin?
|
@@ -23,6 +28,7 @@ module Atco
|
|
23
28
|
@location = data[:location]
|
24
29
|
@timing_point_indicator = data[:timing_point_indicator]
|
25
30
|
@fare_stage_indicator = data[:fare_stage_indicator]
|
31
|
+
@published_arrival_time = data[:published_arrival_time]
|
26
32
|
@published_departure_time = data[:published_departure_time]
|
27
33
|
@record_identity = data[:record_identity]
|
28
34
|
end
|
@@ -31,6 +37,7 @@ module Atco
|
|
31
37
|
{
|
32
38
|
record_identity: @record_identity,
|
33
39
|
location: @location,
|
40
|
+
published_arrival_time: @published_arrival_time,
|
34
41
|
published_departure_time: @published_departure_time,
|
35
42
|
timing_point_indicator: @timing_point_indicator,
|
36
43
|
fare_stage_indicator: @fare_stage_indicator,
|
data/lib/atco/version.rb
CHANGED
data/lib/atco.rb
CHANGED
@@ -38,7 +38,7 @@ module Atco # rubocop:disable Metrics/ModuleLength
|
|
38
38
|
unparsed = []
|
39
39
|
|
40
40
|
data.each_with_index do |line, line_number| # rubocop:disable Metrics/BlockLength
|
41
|
-
if
|
41
|
+
if line_number.zero?
|
42
42
|
header = parse_header(line)
|
43
43
|
next
|
44
44
|
end
|
@@ -52,13 +52,13 @@ module Atco # rubocop:disable Metrics/ModuleLength
|
|
52
52
|
object = send("parse_#{method}", line)
|
53
53
|
next unless object[:record_identity] && object[:record_identity] == identifier
|
54
54
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
55
|
+
case method
|
56
|
+
when :journey_header
|
57
|
+
current_journey = object
|
58
|
+
when :location
|
59
|
+
current_location = object
|
60
|
+
when :additional_location_info
|
61
|
+
locations << Location.new(current_location, object)
|
62
62
|
end
|
63
63
|
|
64
64
|
if current_journey
|
@@ -73,6 +73,7 @@ module Atco # rubocop:disable Metrics/ModuleLength
|
|
73
73
|
unparsed << { line: line, line_number: line_number }
|
74
74
|
next
|
75
75
|
end
|
76
|
+
objects << object
|
76
77
|
end
|
77
78
|
{ header: header, locations: locations, journeys: journeys, unparsed: unparsed }
|
78
79
|
end
|