gtfs 0.2.5 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +13 -4
- data/Gemfile +9 -5
- data/Gemfile.lock +39 -18
- data/LICENSE +21 -0
- data/README.md +3 -17
- data/gtfs.gemspec +2 -1
- data/lib/gtfs/agency.rb +1 -1
- data/lib/gtfs/fare_attribute.rb +2 -2
- data/lib/gtfs/stop_time.rb +1 -1
- data/lib/gtfs/trip.rb +1 -1
- data/lib/gtfs/version.rb +1 -1
- data/spec/fixtures/cassettes/invalid_gtfs_uri.yml +58 -65
- data/spec/fixtures/cassettes/valid_gtfs_uri.yml +55 -122
- data/spec/gtfs/agency_spec.rb +1 -1
- data/spec/gtfs/source_spec.rb +8 -2
- data/spec/gtfs/stop_time_spec.rb +1 -1
- data/spec/gtfs/trip_spec.rb +1 -1
- data/spec/gtfs/url_source_spec.rb +2 -2
- data/spec/spec_helper.rb +7 -3
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8df8ca58b1e0d2b4855443d0d7825c59f7eabfaf8be6c89fff0da03cd69ce6b0
|
4
|
+
data.tar.gz: e38f08d1959b969400f80353d26ad1ee12965df92fc4c0ebe405ee39d81555ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 689c542dead3e918da4d02dd6170ae31a134eeea4dfff6ba7bf1591fd71d297bcbd616b935790823a4247d8421aeb7fc9be9f8618ebd67f6a50388df57c27193
|
7
|
+
data.tar.gz: 4b09664e10ccd3c84dbdccbde25b66536395769dc3e789ce371c8f41ad6b77f68a2dbf70466ef88f508e717081eb7bfbf5be197d53a3fb80c6423d70d6495812
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gem 'rake'
|
4
|
-
gem 'rspec'
|
5
3
|
gem 'multi_json', '1.0.4'
|
6
|
-
gem 'simplecov', :require => false
|
7
4
|
gem 'rubyzip', '~> 1.1'
|
8
|
-
|
9
|
-
|
5
|
+
|
6
|
+
group :test, :development do
|
7
|
+
gem 'simplecov', :require => false
|
8
|
+
gem 'rake'
|
9
|
+
gem 'rspec-its'
|
10
|
+
gem 'rspec'
|
11
|
+
gem 'vcr'
|
12
|
+
gem 'webmock'
|
13
|
+
end
|
data/Gemfile.lock
CHANGED
@@ -1,33 +1,54 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
|
5
|
-
|
4
|
+
addressable (2.7.0)
|
5
|
+
public_suffix (>= 2.0.2, < 5.0)
|
6
|
+
crack (0.4.4)
|
7
|
+
diff-lcs (1.4.4)
|
8
|
+
docile (1.3.2)
|
9
|
+
hashdiff (1.0.1)
|
6
10
|
multi_json (1.0.4)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
rspec-
|
11
|
-
rspec-
|
12
|
-
|
13
|
-
rspec-
|
14
|
-
|
15
|
-
rspec-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
11
|
+
public_suffix (4.0.6)
|
12
|
+
rake (13.0.1)
|
13
|
+
rspec (3.9.0)
|
14
|
+
rspec-core (~> 3.9.0)
|
15
|
+
rspec-expectations (~> 3.9.0)
|
16
|
+
rspec-mocks (~> 3.9.0)
|
17
|
+
rspec-core (3.9.3)
|
18
|
+
rspec-support (~> 3.9.3)
|
19
|
+
rspec-expectations (3.9.3)
|
20
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
21
|
+
rspec-support (~> 3.9.0)
|
22
|
+
rspec-its (1.3.0)
|
23
|
+
rspec-core (>= 3.0.0)
|
24
|
+
rspec-expectations (>= 3.0.0)
|
25
|
+
rspec-mocks (3.9.1)
|
26
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
27
|
+
rspec-support (~> 3.9.0)
|
28
|
+
rspec-support (3.9.4)
|
29
|
+
rubyzip (1.3.0)
|
30
|
+
simplecov (0.19.0)
|
31
|
+
docile (~> 1.1)
|
32
|
+
simplecov-html (~> 0.11)
|
33
|
+
simplecov-html (0.12.3)
|
34
|
+
vcr (6.0.0)
|
35
|
+
webmock (3.9.3)
|
36
|
+
addressable (>= 2.3.6)
|
37
|
+
crack (>= 0.3.2)
|
38
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
22
39
|
|
23
40
|
PLATFORMS
|
24
41
|
ruby
|
25
42
|
|
26
43
|
DEPENDENCIES
|
27
|
-
fakeweb
|
28
44
|
multi_json (= 1.0.4)
|
29
45
|
rake
|
30
46
|
rspec
|
47
|
+
rspec-its
|
31
48
|
rubyzip (~> 1.1)
|
32
49
|
simplecov
|
33
50
|
vcr
|
51
|
+
webmock
|
52
|
+
|
53
|
+
BUNDLED WITH
|
54
|
+
2.1.4
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2012 Ed Schmalzle
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
CHANGED
@@ -35,23 +35,9 @@ Alternatively:
|
|
35
35
|
...
|
36
36
|
source.each_transfer {|transfer| puts transfer}
|
37
37
|
|
38
|
-
### License
|
39
|
-
|
40
|
-
Copyright (C) 2012 Ed Schmalzle
|
41
38
|
|
42
|
-
|
43
|
-
copy of this software and associated documentation files (the "Software"), to
|
44
|
-
deal in the Software without restriction, including without limitation the
|
45
|
-
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
46
|
-
copies of the Software, and to permit persons to whom the Software is furnished
|
47
|
-
to do so, subject to the following conditions:
|
39
|
+
### License
|
48
40
|
|
49
|
-
|
50
|
-
all copies or substantial portions of the Software.
|
41
|
+
This project is licensed under the terms of the MIT license.
|
51
42
|
|
52
|
-
|
53
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
54
|
-
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
55
|
-
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
56
|
-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
57
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
43
|
+
See this license at [`LICENSE`](LICENSE).
|
data/gtfs.gemspec
CHANGED
@@ -5,7 +5,6 @@ require './lib/gtfs/version'
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = 'gtfs'
|
7
7
|
gem.version = GTFS::VERSION
|
8
|
-
gem.date = Date.today.to_s
|
9
8
|
|
10
9
|
gem.summary = 'Load and read GTFS data from zip bundles'
|
11
10
|
gem.description = 'gtfs reads GTFS data from a google-compliant Zip bundle
|
@@ -15,6 +14,8 @@ Gem::Specification.new do |gem|
|
|
15
14
|
gem.email = ['ed@nerded.net']
|
16
15
|
gem.homepage = 'https://github.com/nerdEd/gtfs'
|
17
16
|
|
17
|
+
gem.license = 'MIT'
|
18
|
+
|
18
19
|
gem.required_ruby_version = '>= 1.9.2'
|
19
20
|
|
20
21
|
gem.add_dependency 'rake'
|
data/lib/gtfs/agency.rb
CHANGED
data/lib/gtfs/fare_attribute.rb
CHANGED
@@ -2,8 +2,8 @@ module GTFS
|
|
2
2
|
class FareAttribute
|
3
3
|
include GTFS::Model
|
4
4
|
|
5
|
-
has_required_attrs :fare_id, :price, :currency_type, :payment_method
|
6
|
-
has_optional_attrs :transfer_duration
|
5
|
+
has_required_attrs :fare_id, :price, :currency_type, :payment_method, :transfers
|
6
|
+
has_optional_attrs :transfer_duration
|
7
7
|
attr_accessor *attrs
|
8
8
|
|
9
9
|
collection_name :fare_attributes
|
data/lib/gtfs/stop_time.rb
CHANGED
@@ -3,7 +3,7 @@ module GTFS
|
|
3
3
|
include GTFS::Model
|
4
4
|
|
5
5
|
has_required_attrs :trip_id, :arrival_time, :departure_time, :stop_id, :stop_sequence
|
6
|
-
has_optional_attrs :stop_headsign, :pickup_type, :drop_off_type, :shape_dist_traveled
|
6
|
+
has_optional_attrs :stop_headsign, :pickup_type, :drop_off_type, :shape_dist_traveled, :timepoint
|
7
7
|
attr_accessor *attrs
|
8
8
|
|
9
9
|
collection_name :stop_times
|
data/lib/gtfs/trip.rb
CHANGED
@@ -3,7 +3,7 @@ module GTFS
|
|
3
3
|
include GTFS::Model
|
4
4
|
|
5
5
|
has_required_attrs :route_id, :service_id, :id
|
6
|
-
has_optional_attrs :headsign, :short_name, :direction_id, :block_id, :shape_id, :wheelchair_accessible
|
6
|
+
has_optional_attrs :headsign, :short_name, :direction_id, :block_id, :shape_id, :wheelchair_accessible, :bikes_allowed
|
7
7
|
attr_accessor *attrs
|
8
8
|
|
9
9
|
column_prefix :trip_
|
data/lib/gtfs/version.rb
CHANGED
@@ -1,70 +1,63 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
|
4
|
-
method:
|
5
|
-
uri:
|
6
|
-
body:
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://example.org/gtfs.zip
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
Host:
|
17
|
+
- example.org
|
18
|
+
response:
|
19
|
+
status:
|
10
20
|
code: 404
|
11
21
|
message: Not Found
|
12
22
|
headers:
|
13
|
-
|
14
|
-
-
|
15
|
-
|
16
|
-
-
|
17
|
-
|
18
|
-
- Cookie,Accept-Encoding
|
19
|
-
x-pingback:
|
20
|
-
- http://www.edschmalzle.com/xmlrpc.php
|
21
|
-
expires:
|
22
|
-
- Wed, 11 Jan 1984 05:00:00 GMT
|
23
|
-
cache-control:
|
24
|
-
- no-cache, must-revalidate, max-age=0
|
25
|
-
pragma:
|
26
|
-
- no-cache
|
27
|
-
last-modified:
|
28
|
-
- Wed, 18 Jan 2012 05:04:54 GMT
|
29
|
-
transfer-encoding:
|
30
|
-
- chunked
|
31
|
-
content-type:
|
23
|
+
Age:
|
24
|
+
- '164717'
|
25
|
+
Cache-Control:
|
26
|
+
- max-age=604800
|
27
|
+
Content-Type:
|
32
28
|
- text/html; charset=UTF-8
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
Schmalzle\t\t\tAll rights reserved. Design by <a href=\"http://www.freewpthemes.net/\">Free
|
69
|
-
WordPress Themes</a> • \r\n\t\t\tPowered by <a href=\"http://wordpress.org/\">WordPress</a></p>\r\n\t</div>\r\n</div>\r\n</body></html>"
|
70
|
-
http_version: '1.1'
|
29
|
+
Date:
|
30
|
+
- Fri, 23 Oct 2020 23:02:49 GMT
|
31
|
+
Expires:
|
32
|
+
- Fri, 30 Oct 2020 23:02:49 GMT
|
33
|
+
Last-Modified:
|
34
|
+
- Thu, 22 Oct 2020 01:17:32 GMT
|
35
|
+
Server:
|
36
|
+
- ECS (oxr/837A)
|
37
|
+
Vary:
|
38
|
+
- Accept-Encoding
|
39
|
+
X-Cache:
|
40
|
+
- 404-HIT
|
41
|
+
Content-Length:
|
42
|
+
- '648'
|
43
|
+
body:
|
44
|
+
encoding: ASCII-8BIT
|
45
|
+
string: "<!doctype html>\n<html>\n<head>\n <title>Example Domain</title>\n\n
|
46
|
+
\ <meta charset=\"utf-8\" />\n <meta http-equiv=\"Content-type\" content=\"text/html;
|
47
|
+
charset=utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width,
|
48
|
+
initial-scale=1\" />\n <style type=\"text/css\">\n body {\n background-color:
|
49
|
+
#f0f0f2;\n margin: 0;\n padding: 0;\n font-family: -apple-system,
|
50
|
+
system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Open Sans\", \"Helvetica Neue\",
|
51
|
+
Helvetica, Arial, sans-serif;\n \n }\n div {\n width:
|
52
|
+
600px;\n margin: 5em auto;\n padding: 2em;\n background-color:
|
53
|
+
#fdfdff;\n border-radius: 0.5em;\n box-shadow: 2px 3px 7px 2px
|
54
|
+
rgba(0,0,0,0.02);\n }\n a:link, a:visited {\n color: #38488f;\n
|
55
|
+
\ text-decoration: none;\n }\n @media (max-width: 700px) {\n div
|
56
|
+
{\n margin: 0 auto;\n width: auto;\n }\n }\n
|
57
|
+
\ </style> \n</head>\n\n<body>\n<div>\n <h1>Example Domain</h1>\n
|
58
|
+
\ <p>This domain is for use in illustrative examples in documents. You may
|
59
|
+
use this\n domain in literature without prior coordination or asking for
|
60
|
+
permission.</p>\n <p><a href=\"https://www.iana.org/domains/example\">More
|
61
|
+
information...</a></p>\n</div>\n</body>\n</html>\n"
|
62
|
+
recorded_at: Fri, 23 Oct 2020 23:02:49 GMT
|
63
|
+
recorded_with: VCR 6.0.0
|
@@ -1,127 +1,60 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
|
4
|
-
method:
|
5
|
-
uri:
|
6
|
-
body:
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://developers.google.com/transit/gtfs/examples/sample-feed.zip
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
Host:
|
17
|
+
- developers.google.com
|
18
|
+
response:
|
19
|
+
status:
|
10
20
|
code: 200
|
11
21
|
message: OK
|
12
22
|
headers:
|
13
|
-
|
14
|
-
- nginx/1.0.14
|
15
|
-
date:
|
16
|
-
- Fri, 13 Apr 2012 21:52:30 GMT
|
17
|
-
content-type:
|
23
|
+
Content-Type:
|
18
24
|
- application/zip
|
19
|
-
|
20
|
-
-
|
21
|
-
|
22
|
-
-
|
23
|
-
|
24
|
-
-
|
25
|
-
|
26
|
-
-
|
27
|
-
|
28
|
-
-
|
29
|
-
|
30
|
-
-
|
31
|
-
|
32
|
-
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
GQ6h4C6bIwo+cpxmxMZ8PiIS26CjY1QLESVRsjw30rX1rcaxD+mH/XCaEyPL
|
72
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
PdolafNL/0p7u0M2T0hWvJlyip6usm599YbICwS9YI4QMVxOwslyz7QpqXAn
|
82
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
Jv6HrlxVpbSUsuwMdSQiTDrjY1aTeWBiMgIRjNFfb0svjKiRDZee9ju959K0
|
98
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
T5idiE91eAsAAQT1AQAABBQAAACVz8ELgjAUx/F70P+wP+Ad9pybduxg1CGD
|
108
|
-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
-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
-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
-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
-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
-
AQIeAxQAAAAIAO5iOECFrPgQZAAAAMIAAAAMABgAAAAAAAEAAACkgcQAAABj
|
114
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
|
126
|
-
AJENAAAAAA==
|
127
|
-
http_version: '1.1'
|
25
|
+
Last-Modified:
|
26
|
+
- Wed, 11 Jan 2012 14:31:33 GMT
|
27
|
+
Content-Disposition:
|
28
|
+
- attachment; filename="sample-feed.zip"
|
29
|
+
Cache-Control:
|
30
|
+
- no-cache, must-revalidate
|
31
|
+
Expires:
|
32
|
+
- '0'
|
33
|
+
Pragma:
|
34
|
+
- no-cache
|
35
|
+
Strict-Transport-Security:
|
36
|
+
- max-age=31536000; includeSubdomains
|
37
|
+
X-Frame-Options:
|
38
|
+
- SAMEORIGIN
|
39
|
+
X-Xss-Protection:
|
40
|
+
- '0'
|
41
|
+
X-Content-Type-Options:
|
42
|
+
- nosniff
|
43
|
+
X-Cloud-Trace-Context:
|
44
|
+
- 9d9cd729a1af3deba482f46f3a68c263
|
45
|
+
Date:
|
46
|
+
- Fri, 23 Oct 2020 23:02:49 GMT
|
47
|
+
Server:
|
48
|
+
- Google Frontend
|
49
|
+
Content-Length:
|
50
|
+
- '3217'
|
51
|
+
Alt-Svc:
|
52
|
+
- h3-Q050=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-T050=":443";
|
53
|
+
ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443";
|
54
|
+
ma=2592000; v="46,43"
|
55
|
+
body:
|
56
|
+
encoding: ASCII-8BIT
|
57
|
+
string: !binary |-
|
58
|
+
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
|
59
|
+
recorded_at: Fri, 23 Oct 2020 23:02:49 GMT
|
60
|
+
recorded_with: VCR 6.0.0
|
data/spec/gtfs/agency_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
2
|
|
3
3
|
describe GTFS::Agency do
|
4
4
|
describe 'Agency.parse_agencies' do
|
5
|
-
let(:header_line) {"agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone\n"}
|
5
|
+
let(:header_line) {"agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone,agency_email\n"}
|
6
6
|
let(:invalid_header_line) {"agency_id,agency_url,agency_timezone,agency_lang,agency_phone\n"}
|
7
7
|
let(:valid_line) {"1,Maryland Transit Administration,http://www.mta.maryland.gov,America/New_York,en,410-539-5000\n"}
|
8
8
|
let(:invalid_line) {"1,,http://www.mta.maryland.gov,America/New_York,en,410-539-5000\n"}
|
data/spec/gtfs/source_spec.rb
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
3
|
describe GTFS::Source do
|
4
|
+
before(:each) do
|
5
|
+
VCR.insert_cassette 'valid_gtfs_uri'
|
6
|
+
end
|
7
|
+
after(:each) do
|
8
|
+
VCR.eject_cassette
|
9
|
+
end
|
10
|
+
|
4
11
|
let(:valid_local_source) do
|
5
12
|
File.expand_path(File.dirname(__FILE__) + '/../fixtures/valid_gtfs.zip')
|
6
13
|
end
|
@@ -15,8 +22,7 @@ describe GTFS::Source do
|
|
15
22
|
subject {GTFS::Source.build(data_source, opts)}
|
16
23
|
|
17
24
|
context 'with a url as a data root' do
|
18
|
-
|
19
|
-
let(:data_source) {'http://dl.dropbox.com/u/416235/work/valid_gtfs.zip'}
|
25
|
+
let(:data_source) {'https://developers.google.com/transit/gtfs/examples/sample-feed.zip'}
|
20
26
|
|
21
27
|
it {should be_instance_of GTFS::URLSource}
|
22
28
|
its(:options) {should == GTFS::Source::DEFAULT_OPTIONS}
|
data/spec/gtfs/stop_time_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
2
|
|
3
3
|
describe GTFS::StopTime do
|
4
4
|
describe 'StopTime.parse_stop_times' do
|
5
|
-
let(:header_line) {"trip_id,arrival_time,departure_time,stop_id,stop_sequence,stop_headsign,pickup_type,drop_off_type,shape_dist_traveled\n"}
|
5
|
+
let(:header_line) {"trip_id,arrival_time,departure_time,stop_id,stop_sequence,stop_headsign,pickup_type,drop_off_type,shape_dist_traveled,timepoint\n"}
|
6
6
|
let(:invalid_header_line) {",arrival_time,,stop_id,,stop_headsign,,drop_off_type,\n"}
|
7
7
|
let(:valid_line) {"982385,4:34:00,4:34:00,277,1,,0,0,\n"}
|
8
8
|
let(:invalid_line) {",,4:34:00,,1,,,0,\n"}
|
data/spec/gtfs/trip_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
2
|
|
3
3
|
describe GTFS::Trip do
|
4
4
|
describe 'Trip.parse_trips' do
|
5
|
-
let(:header_line) {"route_id,service_id,trip_id,trip_headsign,direction_id,block_id,shape_id\n"}
|
5
|
+
let(:header_line) {"route_id,service_id,trip_id,trip_headsign,direction_id,block_id,shape_id,bikes_allowed\n"}
|
6
6
|
let(:invalid_header_line) {",,,,direction_id,block_id,shape_id\n"}
|
7
7
|
let(:valid_line) {"4679,1,982394,1 FT McHENRY,0,189021,59135\n"}
|
8
8
|
let(:invalid_line) {",1,,1 FT McHENRY,,189021,\n"}
|
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
2
|
|
3
3
|
describe GTFS::URLSource do
|
4
4
|
context 'with a URI to a valid source zip' do
|
5
|
-
let(:source_path) {'
|
5
|
+
let(:source_path) {'https://developers.google.com/transit/gtfs/examples/sample-feed.zip'}
|
6
6
|
it 'should create a new source successfully' do
|
7
7
|
VCR.use_cassette('valid_gtfs_uri') do
|
8
8
|
lambda {GTFS::URLSource.new(source_path, {})}.should_not raise_error(GTFS::InvalidSourceException)
|
@@ -11,7 +11,7 @@ describe GTFS::URLSource do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
context 'with a non-existent URI' do
|
14
|
-
let(:source_path) {'
|
14
|
+
let(:source_path) {'https://example.org/gtfs.zip'}
|
15
15
|
it 'should raise an exception' do
|
16
16
|
VCR.use_cassette('invalid_gtfs_uri') do
|
17
17
|
lambda {GTFS::URLSource.new(source_path, {})}.should raise_error(GTFS::InvalidSourceException)
|
data/spec/spec_helper.rb
CHANGED
@@ -6,16 +6,20 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
6
6
|
|
7
7
|
require 'bundler/setup'
|
8
8
|
require 'rspec'
|
9
|
+
require 'rspec/its'
|
9
10
|
require 'vcr'
|
10
11
|
require 'gtfs'
|
11
12
|
|
12
13
|
require File.expand_path(File.dirname(__FILE__) + '/support/model_shared_examples')
|
13
14
|
|
14
15
|
RSpec.configure do |config|
|
15
|
-
config.
|
16
|
+
config.expect_with :rspec do |expectations|
|
17
|
+
expectations.syntax = [:should , :expect]
|
18
|
+
expectations.on_potential_false_positives = :nothing
|
19
|
+
end
|
16
20
|
end
|
17
21
|
|
18
|
-
VCR.
|
22
|
+
VCR.configure do |c|
|
19
23
|
c.cassette_library_dir = File.join(File.dirname(__FILE__), '/fixtures/cassettes')
|
20
|
-
c.
|
24
|
+
c.hook_into :webmock
|
21
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gtfs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nerdEd
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -134,6 +134,7 @@ files:
|
|
134
134
|
- ".travis.yml"
|
135
135
|
- Gemfile
|
136
136
|
- Gemfile.lock
|
137
|
+
- LICENSE
|
137
138
|
- README.md
|
138
139
|
- Rakefile
|
139
140
|
- gtfs.gemspec
|
@@ -180,9 +181,10 @@ files:
|
|
180
181
|
- spec/spec_helper.rb
|
181
182
|
- spec/support/model_shared_examples.rb
|
182
183
|
homepage: https://github.com/nerdEd/gtfs
|
183
|
-
licenses:
|
184
|
+
licenses:
|
185
|
+
- MIT
|
184
186
|
metadata: {}
|
185
|
-
post_install_message:
|
187
|
+
post_install_message:
|
186
188
|
rdoc_options: []
|
187
189
|
require_paths:
|
188
190
|
- lib
|
@@ -197,9 +199,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
199
|
- !ruby/object:Gem::Version
|
198
200
|
version: '0'
|
199
201
|
requirements: []
|
200
|
-
|
201
|
-
|
202
|
-
signing_key:
|
202
|
+
rubygems_version: 3.1.2
|
203
|
+
signing_key:
|
203
204
|
specification_version: 4
|
204
205
|
summary: Load and read GTFS data from zip bundles
|
205
206
|
test_files:
|
@@ -225,4 +226,3 @@ test_files:
|
|
225
226
|
- spec/gtfs/url_source_spec.rb
|
226
227
|
- spec/spec_helper.rb
|
227
228
|
- spec/support/model_shared_examples.rb
|
228
|
-
has_rdoc:
|