gtfs 0.2.1 → 0.3.0

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.
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