gtfs 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +13 -2
  3. data/Gemfile +11 -8
  4. data/Gemfile.lock +41 -29
  5. data/LICENSE +21 -0
  6. data/README.md +15 -17
  7. data/Rakefile +2 -0
  8. data/gtfs.gemspec +5 -2
  9. data/lib/gtfs.rb +1 -0
  10. data/lib/gtfs/agency.rb +3 -3
  11. data/lib/gtfs/calendar.rb +2 -2
  12. data/lib/gtfs/calendar_date.rb +2 -2
  13. data/lib/gtfs/fare_attribute.rb +3 -3
  14. data/lib/gtfs/fare_rule.rb +2 -2
  15. data/lib/gtfs/feed_info.rb +19 -0
  16. data/lib/gtfs/frequency.rb +2 -2
  17. data/lib/gtfs/model.rb +28 -9
  18. data/lib/gtfs/route.rb +2 -2
  19. data/lib/gtfs/shape.rb +2 -2
  20. data/lib/gtfs/source.rb +19 -11
  21. data/lib/gtfs/stop.rb +3 -3
  22. data/lib/gtfs/stop_time.rb +3 -3
  23. data/lib/gtfs/transfer.rb +2 -2
  24. data/lib/gtfs/trip.rb +3 -3
  25. data/lib/gtfs/url_source.rb +1 -1
  26. data/lib/gtfs/version.rb +1 -2
  27. data/spec/fixtures/cassettes/invalid_gtfs_uri.yml +58 -65
  28. data/spec/fixtures/cassettes/valid_gtfs_uri.yml +55 -122
  29. data/spec/gtfs/agency_spec.rb +2 -2
  30. data/spec/gtfs/calendar_date_spec.rb +1 -1
  31. data/spec/gtfs/calendar_spec.rb +1 -1
  32. data/spec/gtfs/fare_attribute_spec.rb +14 -0
  33. data/spec/gtfs/fare_rule_spec.rb +13 -0
  34. data/spec/gtfs/feed_info_spec.rb +14 -0
  35. data/spec/gtfs/frequency_spec.rb +14 -0
  36. data/spec/gtfs/route_spec.rb +1 -1
  37. data/spec/gtfs/shape_spec.rb +1 -1
  38. data/spec/gtfs/source_spec.rb +23 -11
  39. data/spec/gtfs/stop_spec.rb +1 -1
  40. data/spec/gtfs/stop_time_spec.rb +2 -2
  41. data/spec/gtfs/transfer_spec.rb +14 -0
  42. data/spec/gtfs/trip_spec.rb +2 -2
  43. data/spec/gtfs/url_source_spec.rb +4 -4
  44. data/spec/spec_helper.rb +7 -3
  45. data/spec/support/model_shared_examples.rb +46 -22
  46. metadata +46 -52
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe GTFS::FareRule do
4
+ describe '.parse_fare_rules' do
5
+ let(:header_line) {"fare_id,route_id,origin_id,destination_id,contains_id\n"}
6
+ let(:invalid_header_line) {",route_id,origin_id,destination_id,contains_id\n"}
7
+ let(:valid_line) {"1,2,TWS,,\n"}
8
+ let(:invalid_line) {",2,TWS,,\n"}
9
+ subject {GTFS::FareRule.parse_fare_rules(source_text, opts)}
10
+
11
+ include_examples 'models'
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe GTFS::FeedInfo do
4
+ describe 'FeedInfo.parse_feed_infos' do
5
+ let(:header_line) {"feed_publisher_name,feed_publisher_url,feed_lang,feed_start_date,feed_end_date,feed_version\n"}
6
+ let(:invalid_header_line) {"feed_publisher_name,feed_publisher_url,feed_start_date,feed_end_date,feed_version\n"}
7
+ let(:valid_line) {"Torrance Transit,http://Transit.TorranceCA.gov,en,20141102,20151003,1413\n"}
8
+ let(:invalid_line) {"Torrance Transit,http://Transit.TorranceCA.gov\n"}
9
+
10
+ subject {GTFS::FeedInfo.parse_feed_infos(source_text, opts)}
11
+
12
+ include_examples 'models'
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe GTFS::Frequency do
4
+ describe '#parse_frequncies' do
5
+ let(:header_line) {"trip_id,start_time,end_time,headway_secs\n"}
6
+ let(:invalid_header_line) {",,end_time,headway_secs\n"}
7
+ let(:valid_line) {"AWE1,05:30:00,06:30:00,300\n"}
8
+ let(:invalid_line) {",,06:30:00,300\n"}
9
+
10
+ subject {GTFS::Frequency.parse_frequencies(source_text, opts)}
11
+
12
+ include_examples 'models'
13
+ end
14
+ end
@@ -7,7 +7,7 @@ describe GTFS::Route do
7
7
  let(:valid_line) {"4679,1,001,SINAI - FORT McHENRY,,3,,0000FF,FFFFFF\n"}
8
8
  let(:invalid_line) {",1,,,,3,,,FFFFFF\n"}
9
9
 
10
- subject {GTFS::Route.parse_routes(source_text)}
10
+ subject {GTFS::Route.parse_routes(source_text, opts)}
11
11
 
12
12
  include_examples 'models'
13
13
  end
@@ -7,7 +7,7 @@ describe GTFS::Shape do
7
7
  let(:valid_line) {"59135,39.354286,-76.662453,19,0.8136\n"}
8
8
  let(:invalid_line) {",39.354286,,,0.8136\n"}
9
9
 
10
- subject {GTFS::Shape.parse_shapes(source_text)}
10
+ subject {GTFS::Shape.parse_shapes(source_text, opts)}
11
11
 
12
12
  include_examples 'models'
13
13
  end
@@ -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
@@ -10,29 +17,35 @@ describe GTFS::Source do
10
17
  end
11
18
 
12
19
  describe '#build' do
13
- subject {GTFS::Source.build(data_source)}
14
-
15
- before do
16
- GTFS::URLSource.stub(:new).and_return('URLSource')
17
- GTFS::LocalSource.stub(:new).and_return('LocalSource')
18
- end
20
+ let(:opts) {{}}
21
+ let(:data_source) {valid_local_source}
22
+ subject {GTFS::Source.build(data_source, opts)}
19
23
 
20
24
  context 'with a url as a data root' do
21
- let(:data_source) {'http://www.edschmalzle.com/gtfs.zip'}
25
+ let(:data_source) {'https://developers.google.com/transit/gtfs/examples/sample-feed.zip'}
22
26
 
23
- it {should == 'URLSource'}
27
+ it {should be_instance_of GTFS::URLSource}
28
+ its(:options) {should == GTFS::Source::DEFAULT_OPTIONS}
24
29
  end
25
30
 
26
31
  context 'with a file path as a data root' do
27
32
  let(:data_source) {valid_local_source}
28
33
 
29
- it {should == 'LocalSource'}
34
+ it {should be_instance_of GTFS::LocalSource}
35
+ its(:options) {should == GTFS::Source::DEFAULT_OPTIONS}
30
36
  end
31
37
 
32
38
  context 'with a file object as a data root' do
33
39
  let(:data_source) {File.open(valid_local_source)}
34
40
 
35
- it {should == 'LocalSource'}
41
+ it {should be_instance_of GTFS::LocalSource}
42
+ its(:options) {should == GTFS::Source::DEFAULT_OPTIONS}
43
+ end
44
+
45
+ context 'with options to disable strict checks' do
46
+ let(:opts) {{strict: false}}
47
+
48
+ its(:options) {should == {strict: false}}
36
49
  end
37
50
  end
38
51
 
@@ -51,7 +64,6 @@ describe GTFS::Source do
51
64
  it {should_not be_empty}
52
65
  its(:first) {should be_an_instance_of(GTFS::Agency)}
53
66
  end
54
-
55
67
  end
56
68
 
57
69
  describe '#stops' do
@@ -7,7 +7,7 @@ describe GTFS::Stop do
7
7
  let(:valid_line) {"3,C093,LANIER & SINAI HOSPITAL,39.351145,-76.663113,,,,\n"}
8
8
  let(:invalid_line) {"3,,,,-76.663113,,,,\n"}
9
9
 
10
- subject {GTFS::Stop.parse_stops(source_text)}
10
+ subject {GTFS::Stop.parse_stops(source_text, opts)}
11
11
 
12
12
  include_examples 'models'
13
13
  end
@@ -2,12 +2,12 @@ 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"}
9
9
 
10
- subject {GTFS::StopTime.parse_stop_times(source_text)}
10
+ subject {GTFS::StopTime.parse_stop_times(source_text, opts)}
11
11
 
12
12
  include_examples 'models'
13
13
  end
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe GTFS::Transfer do
4
+ describe '#parse_transfers' do
5
+ let(:header_line) {"from_stop_id,to_stop_id,transfer_type,min_transfer_time\n"}
6
+ let(:invalid_header_line) {",toxxtop_id,transfer_type,min_transfer_time\n"}
7
+ let(:valid_line) {"S6,S7,2,300\n"}
8
+ let(:invalid_line) {",S7,2,300\n"}
9
+
10
+ subject {GTFS::Transfer.parse_transfers(source_text, opts)}
11
+
12
+ include_examples 'models'
13
+ end
14
+ end
@@ -2,12 +2,12 @@ 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"}
9
9
 
10
- subject {GTFS::Trip.parse_trips(source_text)}
10
+ subject {GTFS::Trip.parse_trips(source_text, opts)}
11
11
 
12
12
  include_examples 'models'
13
13
  end
@@ -2,19 +2,19 @@ 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) {'http://dl.dropbox.com/u/416235/work/valid_gtfs.zip'}
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
- lambda {GTFS::URLSource.new(source_path)}.should_not raise_error(GTFS::InvalidSourceException)
8
+ lambda {GTFS::URLSource.new(source_path, {})}.should_not raise_error(GTFS::InvalidSourceException)
9
9
  end
10
10
  end
11
11
  end
12
12
 
13
13
  context 'with a non-existent URI' do
14
- let(:source_path) {'http://www.edschmalzle.com/gtfs.zip'}
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
- lambda {GTFS::URLSource.new(source_path)}.should raise_error(GTFS::InvalidSourceException)
17
+ lambda {GTFS::URLSource.new(source_path, {})}.should raise_error(GTFS::InvalidSourceException)
18
18
  end
19
19
  end
20
20
  end
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
- # Configure you some RSpec
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.config do |c|
22
+ VCR.configure do |c|
19
23
  c.cassette_library_dir = File.join(File.dirname(__FILE__), '/fixtures/cassettes')
20
- c.stub_with :fakeweb
24
+ c.hook_into :webmock
21
25
  end
@@ -1,31 +1,55 @@
1
1
  shared_examples 'models' do |collection_class|
2
- context 'with a nil source' do
3
- let(:source_text) {nil}
4
- it {should == []}
5
- end
6
2
 
7
- context 'with an empty source' do
8
- let(:source_text) {''}
9
- it {should == []}
10
- end
3
+ context 'with default options' do
4
+ let(:opts) {{}}
11
5
 
12
- context 'with a source w/ only headers' do
13
- let(:source_text) {header_line}
14
- it {should == []}
15
- end
6
+ context 'with a nil source' do
7
+ let(:source_text) {nil}
8
+ it {should == []}
9
+ end
16
10
 
17
- context 'with a valid row of data' do
18
- let(:source_text) {header_line + valid_line}
19
- its(:size) {should == 1}
20
- end
11
+ context 'with an empty source' do
12
+ let(:source_text) {''}
13
+ it {should == []}
14
+ end
15
+
16
+ context 'with a source w/ only headers' do
17
+ let(:source_text) {header_line}
18
+ it {should == []}
19
+ end
21
20
 
22
- context 'with multiple valid rows of data' do
23
- let(:source_text) {header_line + valid_line + valid_line}
24
- its(:size) {should == 2}
21
+ context 'with a valid row of data' do
22
+ let(:source_text) {header_line + valid_line}
23
+ its(:size) {should == 1}
24
+ end
25
+
26
+ context 'with multiple valid rows of data' do
27
+ let(:source_text) {header_line + valid_line + valid_line}
28
+ its(:size) {should == 2}
29
+ end
30
+
31
+ context 'with 1 invalid and 1 valid row of data' do
32
+ let(:source_text) {header_line + valid_line + invalid_line}
33
+ its(:size) {should == 1}
34
+ end
35
+
36
+ context 'with an invalid line' do
37
+ let(:source_text) {header_line + invalid_line}
38
+ its(:size) {should == 0}
39
+ end
25
40
  end
26
41
 
27
- context 'with 1 invalid and 1 valid row of data' do
28
- let(:source_text) {header_line + valid_line + invalid_line}
29
- its(:size) {should == 1}
42
+ context 'with options set to turn off strict checking' do
43
+ let(:opts) {{strict: false}}
44
+
45
+ context 'with an invalid line' do
46
+ let(:source_text) {header_line + invalid_line}
47
+ its(:size) {should == 1}
48
+ end
49
+
50
+ context 'with 1 invalid and 1 valid row of data' do
51
+ let(:source_text) {header_line + valid_line + invalid_line}
52
+ its(:size) {should == 2}
53
+ end
30
54
  end
31
55
  end
metadata CHANGED
@@ -1,145 +1,128 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gtfs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
5
- prerelease:
4
+ version: 0.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - nerdEd
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-12-17 00:00:00.000000000 Z
11
+ date: 2021-02-19 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: :runtime
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: multi_json
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: :runtime
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: rubyzip
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: '1.1'
54
48
  type: :runtime
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
- version: '0'
54
+ version: '1.1'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
61
  version: 2.0.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
68
  version: 2.0.0
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: simplecov
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
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
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: ruby-debug19
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - ">="
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - ">="
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: vcr
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - ">="
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - ">="
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: fakeweb
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - ">="
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - ">="
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
- description: ! "gtfs reads GTFS data from a google-compliant Zip bundle \n and
125
+ description: "gtfs reads GTFS data from a google-compliant Zip bundle \n and
143
126
  returns an object representing the CSV data inside"
144
127
  email:
145
128
  - ed@nerded.net
@@ -147,10 +130,11 @@ executables: []
147
130
  extensions: []
148
131
  extra_rdoc_files: []
149
132
  files:
150
- - .gitignore
151
- - .travis.yml
133
+ - ".gitignore"
134
+ - ".travis.yml"
152
135
  - Gemfile
153
136
  - Gemfile.lock
137
+ - LICENSE
154
138
  - README.md
155
139
  - Rakefile
156
140
  - gtfs.gemspec
@@ -161,6 +145,7 @@ files:
161
145
  - lib/gtfs/custom_exceptions.rb
162
146
  - lib/gtfs/fare_attribute.rb
163
147
  - lib/gtfs/fare_rule.rb
148
+ - lib/gtfs/feed_info.rb
164
149
  - lib/gtfs/frequency.rb
165
150
  - lib/gtfs/local_source.rb
166
151
  - lib/gtfs/model.rb
@@ -180,39 +165,43 @@ files:
180
165
  - spec/gtfs/agency_spec.rb
181
166
  - spec/gtfs/calendar_date_spec.rb
182
167
  - spec/gtfs/calendar_spec.rb
168
+ - spec/gtfs/fare_attribute_spec.rb
169
+ - spec/gtfs/fare_rule_spec.rb
170
+ - spec/gtfs/feed_info_spec.rb
171
+ - spec/gtfs/frequency_spec.rb
183
172
  - spec/gtfs/local_source_spec.rb
184
173
  - spec/gtfs/route_spec.rb
185
174
  - spec/gtfs/shape_spec.rb
186
175
  - spec/gtfs/source_spec.rb
187
176
  - spec/gtfs/stop_spec.rb
188
177
  - spec/gtfs/stop_time_spec.rb
178
+ - spec/gtfs/transfer_spec.rb
189
179
  - spec/gtfs/trip_spec.rb
190
180
  - spec/gtfs/url_source_spec.rb
191
181
  - spec/spec_helper.rb
192
182
  - spec/support/model_shared_examples.rb
193
183
  homepage: https://github.com/nerdEd/gtfs
194
- licenses: []
195
- post_install_message:
184
+ licenses:
185
+ - MIT
186
+ metadata: {}
187
+ post_install_message:
196
188
  rdoc_options: []
197
189
  require_paths:
198
190
  - lib
199
191
  required_ruby_version: !ruby/object:Gem::Requirement
200
- none: false
201
192
  requirements:
202
- - - ! '>='
193
+ - - ">="
203
194
  - !ruby/object:Gem::Version
204
- version: '0'
195
+ version: 1.9.2
205
196
  required_rubygems_version: !ruby/object:Gem::Requirement
206
- none: false
207
197
  requirements:
208
- - - ! '>='
198
+ - - ">="
209
199
  - !ruby/object:Gem::Version
210
200
  version: '0'
211
201
  requirements: []
212
- rubyforge_project:
213
- rubygems_version: 1.8.24
214
- signing_key:
215
- specification_version: 3
202
+ rubygems_version: 3.1.2
203
+ signing_key:
204
+ specification_version: 4
216
205
  summary: Load and read GTFS data from zip bundles
217
206
  test_files:
218
207
  - spec/fixtures/cassettes/invalid_gtfs_uri.yml
@@ -222,12 +211,17 @@ test_files:
222
211
  - spec/gtfs/agency_spec.rb
223
212
  - spec/gtfs/calendar_date_spec.rb
224
213
  - spec/gtfs/calendar_spec.rb
214
+ - spec/gtfs/fare_attribute_spec.rb
215
+ - spec/gtfs/fare_rule_spec.rb
216
+ - spec/gtfs/feed_info_spec.rb
217
+ - spec/gtfs/frequency_spec.rb
225
218
  - spec/gtfs/local_source_spec.rb
226
219
  - spec/gtfs/route_spec.rb
227
220
  - spec/gtfs/shape_spec.rb
228
221
  - spec/gtfs/source_spec.rb
229
222
  - spec/gtfs/stop_spec.rb
230
223
  - spec/gtfs/stop_time_spec.rb
224
+ - spec/gtfs/transfer_spec.rb
231
225
  - spec/gtfs/trip_spec.rb
232
226
  - spec/gtfs/url_source_spec.rb
233
227
  - spec/spec_helper.rb