gtfs_engine 1.5.3 → 2.0.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 (72) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +6 -5
  3. data/app/controllers/gtfs_engine/agencies_controller.rb +2 -14
  4. data/app/controllers/gtfs_engine/application_controller.rb +2 -14
  5. data/app/controllers/gtfs_engine/calendar_dates_controller.rb +2 -14
  6. data/app/controllers/gtfs_engine/calendars_controller.rb +7 -19
  7. data/app/controllers/gtfs_engine/data_sets_controller.rb +10 -24
  8. data/app/controllers/gtfs_engine/fare_attributes_controller.rb +2 -14
  9. data/app/controllers/gtfs_engine/fare_rules_controller.rb +2 -14
  10. data/app/controllers/gtfs_engine/feed_infos_controller.rb +2 -14
  11. data/app/controllers/gtfs_engine/frequencies_controller.rb +2 -14
  12. data/app/controllers/gtfs_engine/routes_controller.rb +2 -14
  13. data/app/controllers/gtfs_engine/shapes_controller.rb +2 -14
  14. data/app/controllers/gtfs_engine/stop_times_controller.rb +2 -14
  15. data/app/controllers/gtfs_engine/stops_controller.rb +2 -14
  16. data/app/controllers/gtfs_engine/transfers_controller.rb +9 -21
  17. data/app/controllers/gtfs_engine/trips_controller.rb +4 -16
  18. data/app/helpers/gtfs_engine/default_views_helper.rb +8 -21
  19. data/app/helpers/gtfs_engine/fields_helper.rb +3 -15
  20. data/app/models/gtfs_engine/agency.rb +3 -15
  21. data/app/models/gtfs_engine/calendar.rb +21 -38
  22. data/app/models/gtfs_engine/calendar_date.rb +5 -17
  23. data/app/models/gtfs_engine/data_set.rb +20 -32
  24. data/app/models/gtfs_engine/fare_attribute.rb +3 -15
  25. data/app/models/gtfs_engine/fare_rule.rb +9 -23
  26. data/app/models/gtfs_engine/feed_info.rb +3 -15
  27. data/app/models/gtfs_engine/frequency.rb +5 -17
  28. data/app/models/gtfs_engine/route.rb +4 -17
  29. data/app/models/gtfs_engine/shape.rb +5 -17
  30. data/app/models/gtfs_engine/stop.rb +5 -18
  31. data/app/models/gtfs_engine/stop_time.rb +5 -19
  32. data/app/models/gtfs_engine/transfer.rb +5 -17
  33. data/app/models/gtfs_engine/trip.rb +8 -25
  34. data/app/views/gtfs_engine/calendars/dates.json.jsend +3 -17
  35. data/app/views/gtfs_engine/data_sets/index.json.jsend +4 -18
  36. data/app/views/gtfs_engine/data_sets/show.json.jsend +2 -16
  37. data/app/views/gtfs_engine/gtfs/index.json.jsend +1 -15
  38. data/app/views/gtfs_engine/gtfs/show.json.jsend +1 -15
  39. data/app/views/gtfs_engine/transfers/from.json.jsend +1 -15
  40. data/app/views/gtfs_engine/transfers/from_to.json.jsend +1 -15
  41. data/app/views/gtfs_engine/transfers/to.json.jsend +1 -15
  42. data/app/views/gtfs_engine/trips/block.json.jsend +1 -15
  43. data/bin/rails +5 -3
  44. data/config/routes.rb +3 -16
  45. data/db/migrate/20140320045108_create_gtfs_engine_data_sets.rb +2 -0
  46. data/db/migrate/20140320045232_create_gtfs_engine_calendars.rb +2 -0
  47. data/db/migrate/20140320045751_create_gtfs_engine_calendar_dates.rb +2 -0
  48. data/db/migrate/20140320050100_create_gtfs_engine_shapes.rb +2 -0
  49. data/db/migrate/20140320051140_create_gtfs_engine_routes.rb +4 -2
  50. data/db/migrate/20140320052005_create_gtfs_engine_stops.rb +4 -2
  51. data/db/migrate/20140320052508_create_gtfs_engine_trips.rb +3 -1
  52. data/db/migrate/20140320052907_create_gtfs_engine_stop_times.rb +2 -0
  53. data/db/migrate/20140401032609_create_gtfs_engine_agencies.rb +2 -0
  54. data/db/migrate/20140405235947_create_gtfs_engine_fare_attributes.rb +2 -0
  55. data/db/migrate/20140406063500_create_gtfs_engine_fare_rules.rb +3 -1
  56. data/db/migrate/20140406071922_create_gtfs_engine_frequencies.rb +2 -0
  57. data/db/migrate/20140406072309_create_gtfs_engine_transfers.rb +2 -0
  58. data/db/migrate/20140406073548_create_gtfs_engine_feed_infos.rb +2 -0
  59. data/lib/gtfs_engine.rb +2 -14
  60. data/lib/gtfs_engine/concerns.rb +2 -14
  61. data/lib/gtfs_engine/concerns/controllers.rb +10 -18
  62. data/lib/gtfs_engine/concerns/controllers/data_access.rb +28 -40
  63. data/lib/gtfs_engine/concerns/controllers/gtfs.rb +17 -50
  64. data/lib/gtfs_engine/engine.rb +2 -15
  65. data/lib/gtfs_engine/exceptions.rb +4 -19
  66. data/lib/gtfs_engine/json_responder.rb +9 -23
  67. data/lib/gtfs_engine/middleware/base.rb +6 -19
  68. data/lib/gtfs_engine/middleware/json_parse_errors.rb +6 -20
  69. data/lib/gtfs_engine/sources.rb +33 -44
  70. data/lib/gtfs_engine/version.rb +30 -37
  71. data/lib/tasks/gtfs_engine_tasks.rake +15 -25
  72. metadata +36 -43
@@ -1,17 +1,4 @@
1
- # This file is part of the KNOWtime server.
2
- #
3
- # The KNOWtime server is free software: you can redistribute it and/or modify it
4
- # under the terms of the GNU General Public License as published by the Free
5
- # Software Foundation, either version 3 of the License, or (at your option) any
6
- # later version.
7
- #
8
- # The KNOWtime server is distributed in the hope that it will be useful, but
9
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
11
- # details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with the KNOWtime server. If not, see <http://www.gnu.org/licenses/>.
1
+ # frozen_string_literal: true
15
2
 
16
3
  # The following line is required for jsend_wrapper/rails to be available when
17
4
  # mounted in another rails application.
@@ -20,23 +7,23 @@ module GtfsEngine
20
7
  class Base
21
8
  attr_reader :app
22
9
 
23
- HEADERS = { 'Content-Type' => 'application/json' }
10
+ HEADERS = { 'Content-Type' => 'application/json' }.freeze
24
11
 
25
12
  def initialize(app)
26
13
  @app = app
27
14
  end
28
15
 
29
- protected
16
+ protected
30
17
 
31
18
  def accepts_json?(env)
32
- request = ActionDispatch::Request.new env
19
+ request = ActionDispatch::Request.new(env)
33
20
  !!collector.negotiate_format(request)
34
21
  end
35
22
 
36
- private
23
+ private
37
24
 
38
25
  def collector
39
- @collector ||= ActionController::MimeResponds::Collector.new ['json']
26
+ @collector ||= ActionController::MimeResponds::Collector.new(['json'])
40
27
  end
41
28
  end
42
29
  end
@@ -1,17 +1,4 @@
1
- # This file is part of the KNOWtime server.
2
- #
3
- # The KNOWtime server is free software: you can redistribute it and/or modify it
4
- # under the terms of the GNU General Public License as published by the Free
5
- # Software Foundation, either version 3 of the License, or (at your option) any
6
- # later version.
7
- #
8
- # The KNOWtime server is distributed in the hope that it will be useful, but
9
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
11
- # details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with the KNOWtime server. If not, see <http://www.gnu.org/licenses/>.
1
+ # frozen_string_literal: true
15
2
 
16
3
  # The following line is required for jsend_wrapper/rails to be available when
17
4
  # mounted in another rails application.
@@ -31,15 +18,14 @@ module GtfsEngine
31
18
  MESSAGE = 'The body of your request is not valid JSON'
32
19
 
33
20
  def call(env)
34
- app.call env
21
+ app.call(env)
22
+ rescue ActionDispatch::ParamsParser::ParseError => e
23
+ raise e unless accepts_json?(env)
35
24
 
36
- rescue ActionDispatch::ParamsParser::ParseError => error
37
- raise error unless accepts_json? env
38
-
39
- [ 400, HEADERS, [create_json(error)] ]
25
+ [400, HEADERS, [create_json(e)]]
40
26
  end
41
27
 
42
- private
28
+ private
43
29
 
44
30
  def create_json(cause)
45
31
  JsendWrapper::ErrorRenderer.new(
@@ -1,17 +1,5 @@
1
- # This file is part of the KNOWtime server.
2
- #
3
- # The KNOWtime server is free software: you can redistribute it and/or modify it
4
- # under the terms of the GNU General Public License as published by the Free
5
- # Software Foundation, either version 3 of the License, or (at your option) any
6
- # later version.
7
- #
8
- # The KNOWtime server is distributed in the hope that it will be useful, but
9
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
11
- # details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with the KNOWtime server. If not, see <http://www.gnu.org/licenses/>.
1
+ # frozen_string_literal: true
2
+
15
3
  require 'set'
16
4
  require 'activerecord-import'
17
5
 
@@ -23,52 +11,53 @@ module GtfsEngine
23
11
  end
24
12
 
25
13
  def method_missing(name, &block)
26
- source = @config.sources.__send__ name
27
- add_default_importers source
28
- source.instance_exec source, &block if ::Kernel.block_given?
29
- source
14
+ @config.sources.__send__(name).tap do |source|
15
+ add_default_importers(source)
16
+ source.instance_exec(source, &block) if ::Kernel.block_given?
17
+ end
30
18
  end
31
19
 
32
20
  private
33
21
 
34
22
  def add_default_importers(source)
35
23
  id = source.__id__
36
- return if @source_ids.include? id
37
- @source_ids.add id
24
+ return if @source_ids.include?(id)
25
+
26
+ @source_ids.add(id)
38
27
 
39
28
  get_method = ::Kernel.instance_method(:method).bind self
40
- bulk_importer = get_method.call :bulk_importer
41
- set_id = ::OpenStruct.new id: -1
29
+ bulk_importer = get_method.call(:bulk_importer)
30
+ set_id = ::OpenStruct.new(id: -1)
42
31
 
43
32
  source.before do |etag|
44
33
  if DataSet.where(name: source.name, etag: etag).empty?
45
- set = DataSet.create name: source.name,
34
+ set = DataSet.create(name: source.name,
46
35
  title: source.title,
47
36
  etag: etag,
48
- url: source.url
37
+ url: source.url)
49
38
  set.reload
50
39
  set_id.id = set.id
51
40
  else
52
- ::Kernel.raise ::GtfsReader::SkipSourceError,
53
- "Data Pull already exists for #{etag}"
41
+ ::Kernel.raise(::GtfsReader::SkipSourceError,
42
+ "Data Pull already exists for #{etag}")
54
43
  end
55
44
  end
56
45
 
57
- source.handlers bulk_importer, set_id, bulk: 1024 do |importer, set_id|
58
- agency &importer.call( Agency, set_id )
59
- calendar &importer.call( Calendar, set_id )
60
- calendar_dates &importer.call( CalendarDate, set_id )
61
- fare_attributes &importer.call( FareAttribute, set_id )
62
- fare_rules &importer.call( FareRule, set_id )
63
- feed_info &importer.call( FeedInfo, set_id )
64
- frequencies &importer.call( Frequency, set_id )
65
- stop_times &importer.call( StopTime, set_id )
66
- routes &importer.call( Route, set_id )
67
- shapes &importer.call( Shape, set_id )
68
- stops &importer.call( Stop, set_id )
69
- stop_times &importer.call( StopTime, set_id )
70
- transfers &importer.call( Transfer, set_id )
71
- trips &importer.call( Trip, set_id )
46
+ source.handlers(bulk_importer, set_id, bulk: 1024) do |importer, set_id|
47
+ agency(&importer.call(Agency, set_id))
48
+ calendar(&importer.call(Calendar, set_id))
49
+ calendar_dates(&importer.call(CalendarDate, set_id))
50
+ fare_attributes(&importer.call(FareAttribute, set_id))
51
+ fare_rules(&importer.call(FareRule, set_id))
52
+ feed_info(&importer.call(FeedInfo, set_id))
53
+ frequencies(&importer.call(Frequency, set_id))
54
+ stop_times(&importer.call(StopTime, set_id))
55
+ routes(&importer.call(Route, set_id))
56
+ shapes(&importer.call(Shape, set_id))
57
+ stops(&importer.call(Stop, set_id))
58
+ stop_times(&importer.call(StopTime, set_id))
59
+ transfers(&importer.call(Transfer, set_id))
60
+ trips(&importer.call(Trip, set_id))
72
61
  end
73
62
  end
74
63
 
@@ -76,9 +65,9 @@ module GtfsEngine
76
65
  ::Proc.new do
77
66
  bulk do |values, count, total, columns|
78
67
  id = data_set_id_holder.id
79
- values.each {|v| v << id }
80
- model_class.import (columns + [:data_set_id]), values
81
- ::Rails.logger.info "Inserted #{count} #{model_class} records (total: #{total})"
68
+ values.each { |v| v << id }
69
+ model_class.import((columns + [:data_set_id]), values)
70
+ ::Rails.logger.info("Inserted #{count} #{model_class} records (total: #{total})")
82
71
  end
83
72
  end
84
73
  end
@@ -1,37 +1,27 @@
1
- # This file is part of the KNOWtime server.
2
- #
3
- # The KNOWtime server is free software: you can redistribute it and/or modify it
4
- # under the terms of the GNU General Public License as published by the Free
5
- # Software Foundation, either version 3 of the License, or (at your option) any
6
- # later version.
7
- #
8
- # The KNOWtime server is distributed in the hope that it will be useful, but
9
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
11
- # details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with the KNOWtime server. If not, see <http://www.gnu.org/licenses/>.
1
+ # frozen_string_literal: true
2
+
15
3
  module GtfsEngine
16
4
  module Version
17
5
  # The following four lines are generated, so don't mess with them.
18
- MAJOR = 1
19
- MINOR = 5
20
- PATCH = 3
6
+ MAJOR = 2
7
+ MINOR = 0
8
+ PATCH = 0
21
9
  BUILD = nil
22
10
 
23
11
  def self.to_s
24
- [MAJOR, MINOR, PATCH, BUILD].compact.join '.'
12
+ [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
25
13
  end
26
14
 
27
15
  # A helper class which bumps the version number stored in this file
28
16
  class Bumper
29
- PARTS = %i[major minor patch]
30
- PATTERN = %r[(\s+)MAJOR = \d+\s+MINOR = \d+\s+PATCH = \d+\s+BUILD = .+]
17
+ PARTS = %i[major minor patch].freeze
18
+ PATTERN = /(\s+)MAJOR = \d+\s+MINOR = \d+\s+PATCH = \d+\s+BUILD = .+/.freeze
19
+
20
+ def initialize(filename = __FILE__, part)
21
+ raise "#{part} not one of #{PARTS}" unless PARTS.include?(part)
31
22
 
32
- def initialize(filename=__FILE__, part)
33
- raise "#{part} not one of #{PARTS}" unless PARTS.include? part
34
- @filename, @part = filename, part
23
+ @filename = filename
24
+ @part = part
35
25
  end
36
26
 
37
27
  # Increase the version number and write it to this file
@@ -40,18 +30,18 @@ module GtfsEngine
40
30
  text = '\1' + ["MAJOR = #{parts[:major]}",
41
31
  "MINOR = #{parts[:minor]}",
42
32
  "PATCH = #{parts[:patch]}",
43
- "BUILD = #{parts[:build] || 'nil'}"].join( '\1' )
33
+ "BUILD = #{parts[:build] || 'nil'}"].join('\1')
44
34
 
45
- out_data = File.read( @filename ).gsub PATTERN, text
46
- #puts out_data
47
- File.open( @filename, 'w' ) { |out| out << out_data }
48
- puts "Bumped version to #{to_s}"
35
+ out_data = File.read(@filename).gsub(PATTERN, text)
36
+ # puts out_data
37
+ File.open(@filename, 'w') { |out| out << out_data }
38
+ puts "Bumped version to #{self}"
49
39
  end
50
40
 
51
- #@return [String] What the new version string will be.
41
+ # @return [String] What the new version string will be.
52
42
  def to_s
53
43
  p = new_version
54
- [p[:major], p[:minor], p[:patch], p[:build]].compact.join ?.
44
+ [p[:major], p[:minor], p[:patch], p[:build]].compact.join('.')
55
45
  end
56
46
 
57
47
  private
@@ -60,23 +50,26 @@ module GtfsEngine
60
50
  @vers ||= { major: MAJOR,
61
51
  minor: MINOR,
62
52
  patch: PATCH,
63
- build: BUILD }.merge new_parts
53
+ build: BUILD }.merge(new_parts)
64
54
  end
65
55
 
66
56
  def new_parts
67
57
  case @part
68
- when :major then {
58
+ when :major
59
+ {
69
60
  major: MAJOR + 1,
70
61
  minor: 0,
71
62
  patch: 0
72
- }
73
- when :minor then {
63
+ }
64
+ when :minor
65
+ {
74
66
  minor: MINOR + 1,
75
67
  patch: 0
76
- }
77
- else {
68
+ }
69
+ else
70
+ {
78
71
  patch: PATCH + 1
79
- }
72
+ }
80
73
  end
81
74
  end
82
75
  end
@@ -1,17 +1,5 @@
1
- # This file is part of the KNOWtime server.
2
- #
3
- # The KNOWtime server is free software: you can redistribute it and/or modify it
4
- # under the terms of the GNU General Public License as published by the Free
5
- # Software Foundation, either version 3 of the License, or (at your option) any
6
- # later version.
7
- #
8
- # The KNOWtime server is distributed in the hope that it will be useful, but
9
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
11
- # details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with the KNOWtime server. If not, see <http://www.gnu.org/licenses/>.
1
+ # frozen_string_literal: true
2
+
15
3
  require 'colorize'
16
4
 
17
5
  namespace :gtfs_engine do
@@ -23,7 +11,7 @@ namespace :gtfs_engine do
23
11
  end
24
12
 
25
13
  if args.name
26
- GtfsReader.update args.name.to_sym
14
+ GtfsReader.update(args.name.to_sym)
27
15
  else
28
16
  GtfsReader.update_all!
29
17
  end
@@ -35,14 +23,15 @@ namespace :gtfs_engine do
35
23
  desc 'List the data sets for each source'
36
24
  task list: :environment do
37
25
  GtfsEngine::DataSet.distinct.pluck(:name).each do |name|
38
- list_source_data_sets name
26
+ list_source_data_sets(name)
39
27
  end
40
28
  end
41
29
 
42
30
  desc 'Delete a data set and all the models from it'
43
- task :delete, [:name, :etag] => :environment do |_, args|
44
- set = GtfsEngine::DataSet.find_by name: args.name, etag: args.etag
45
- name, etag = [args.name.to_s.light_blue, args.etag.yellow]
31
+ task :delete, %i[name etag] => :environment do |_, args|
32
+ set = GtfsEngine::DataSet.find_by(name: args.name, etag: args.etag)
33
+ name = args.name.to_s.light_blue
34
+ etag = args.etag.yellow
46
35
 
47
36
  if set
48
37
  set.delete
@@ -54,12 +43,13 @@ namespace :gtfs_engine do
54
43
  end
55
44
 
56
45
  desc 'Count the number of models in a data set'
57
- task :count, [:name, :etag] => :environment do |_, args|
58
- set = GtfsEngine::DataSet.find_by name: args.name, etag: args.etag
59
- name, etag = [args.name.to_s.light_blue, args.etag.yellow]
46
+ task :count, %i[name etag] => :environment do |_, args|
47
+ set = GtfsEngine::DataSet.find_by(name: args.name, etag: args.etag)
48
+ name = args.name.to_s.light_blue
49
+ etag = args.etag.yellow
60
50
  puts "Model count for #{name} data set with etag #{etag}"
61
51
 
62
- width = model_lists.inject(0) {|max, n| [max, n.to_s.length].max }
52
+ width = model_lists.inject(0) { |max, n| [max, n.to_s.length].max }
63
53
  model_lists.each do |list|
64
54
  count = set.send(list).count
65
55
  puts "\t#{list.to_s.rjust(width).yellow}: #{count}"
@@ -71,7 +61,7 @@ end
71
61
  def list_source_data_sets(name)
72
62
  puts name.underline.green
73
63
 
74
- sets = GtfsEngine::DataSet.where(name: name).order :created_at
64
+ sets = GtfsEngine::DataSet.where(name: name).order(:created_at)
75
65
  if sets.count == 0
76
66
  puts "\tnone".light_black
77
67
  else
@@ -84,6 +74,6 @@ end
84
74
  def model_lists
85
75
  @model_lists ||= begin
86
76
  has_many = GtfsEngine::DataSet.reflect_on_all_associations(:has_many)
87
- has_many.collect &:name
77
+ has_many.collect(&:name)
88
78
  end
89
79
  end
metadata CHANGED
@@ -1,175 +1,169 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gtfs_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Sangster
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-15 00:00:00.000000000 Z
11
+ date: 2020-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: activerecord-import
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "<"
18
- - !ruby/object:Gem::Version
19
- version: '6.0'
20
- - - ">="
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '4.1'
19
+ version: '1.0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - "<"
28
- - !ruby/object:Gem::Version
29
- version: '6.0'
30
- - - ">="
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '4.1'
26
+ version: '1.0'
33
27
  - !ruby/object:Gem::Dependency
34
- name: responders
28
+ name: gtfs_reader
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '2.4'
33
+ version: '4.0'
40
34
  type: :runtime
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
38
  - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '2.4'
40
+ version: '4.0'
47
41
  - !ruby/object:Gem::Dependency
48
- name: gtfs_reader
42
+ name: rails
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '1.2'
47
+ version: '6.0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
52
  - - "~>"
59
53
  - !ruby/object:Gem::Version
60
- version: '1.2'
54
+ version: '6.0'
61
55
  - !ruby/object:Gem::Dependency
62
- name: activerecord-import
56
+ name: responders
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
59
  - - "~>"
66
60
  - !ruby/object:Gem::Version
67
- version: '0.19'
61
+ version: '3.0'
68
62
  type: :runtime
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
66
  - - "~>"
73
67
  - !ruby/object:Gem::Version
74
- version: '0.19'
68
+ version: '3.0'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: jbuilder
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
73
  - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: '2.7'
75
+ version: '2.10'
82
76
  type: :runtime
83
77
  prerelease: false
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
80
  - - "~>"
87
81
  - !ruby/object:Gem::Version
88
- version: '2.7'
82
+ version: '2.10'
89
83
  - !ruby/object:Gem::Dependency
90
84
  name: jsend_wrapper-rails
91
85
  requirement: !ruby/object:Gem::Requirement
92
86
  requirements:
93
87
  - - "~>"
94
88
  - !ruby/object:Gem::Version
95
- version: '0.3'
89
+ version: '0.4'
96
90
  type: :runtime
97
91
  prerelease: false
98
92
  version_requirements: !ruby/object:Gem::Requirement
99
93
  requirements:
100
94
  - - "~>"
101
95
  - !ruby/object:Gem::Version
102
- version: '0.3'
96
+ version: '0.4'
103
97
  - !ruby/object:Gem::Dependency
104
- name: pry-rails
98
+ name: pry-byebug
105
99
  requirement: !ruby/object:Gem::Requirement
106
100
  requirements:
107
101
  - - "~>"
108
102
  - !ruby/object:Gem::Version
109
- version: '0.3'
103
+ version: '3.9'
110
104
  type: :development
111
105
  prerelease: false
112
106
  version_requirements: !ruby/object:Gem::Requirement
113
107
  requirements:
114
108
  - - "~>"
115
109
  - !ruby/object:Gem::Version
116
- version: '0.3'
110
+ version: '3.9'
117
111
  - !ruby/object:Gem::Dependency
118
- name: yard
112
+ name: bundler
119
113
  requirement: !ruby/object:Gem::Requirement
120
114
  requirements:
121
115
  - - "~>"
122
116
  - !ruby/object:Gem::Version
123
- version: '0.9'
117
+ version: '2.1'
124
118
  type: :development
125
119
  prerelease: false
126
120
  version_requirements: !ruby/object:Gem::Requirement
127
121
  requirements:
128
122
  - - "~>"
129
123
  - !ruby/object:Gem::Version
130
- version: '0.9'
124
+ version: '2.1'
131
125
  - !ruby/object:Gem::Dependency
132
- name: bundler
126
+ name: guard-rspec
133
127
  requirement: !ruby/object:Gem::Requirement
134
128
  requirements:
135
129
  - - "~>"
136
130
  - !ruby/object:Gem::Version
137
- version: '1.15'
131
+ version: '4.7'
138
132
  type: :development
139
133
  prerelease: false
140
134
  version_requirements: !ruby/object:Gem::Requirement
141
135
  requirements:
142
136
  - - "~>"
143
137
  - !ruby/object:Gem::Version
144
- version: '1.15'
138
+ version: '4.7'
145
139
  - !ruby/object:Gem::Dependency
146
- name: jeweler
140
+ name: juwelier
147
141
  requirement: !ruby/object:Gem::Requirement
148
142
  requirements:
149
143
  - - "~>"
150
144
  - !ruby/object:Gem::Version
151
- version: '2.3'
145
+ version: '2.4'
152
146
  type: :development
153
147
  prerelease: false
154
148
  version_requirements: !ruby/object:Gem::Requirement
155
149
  requirements:
156
150
  - - "~>"
157
151
  - !ruby/object:Gem::Version
158
- version: '2.3'
152
+ version: '2.4'
159
153
  - !ruby/object:Gem::Dependency
160
- name: guard-rspec
154
+ name: yard
161
155
  requirement: !ruby/object:Gem::Requirement
162
156
  requirements:
163
157
  - - "~>"
164
158
  - !ruby/object:Gem::Version
165
- version: '4.7'
159
+ version: '0.9'
166
160
  type: :development
167
161
  prerelease: false
168
162
  version_requirements: !ruby/object:Gem::Requirement
169
163
  requirements:
170
164
  - - "~>"
171
165
  - !ruby/object:Gem::Version
172
- version: '4.7'
166
+ version: '0.9'
173
167
  description: 'A Rails Engine to provide a basic RESTful interface for GTFS feeds.
174
168
  GTFS Spec: https://developers.google.com/transit/gtfs'
175
169
  email: jon@ertt.ca
@@ -269,8 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
269
263
  - !ruby/object:Gem::Version
270
264
  version: '0'
271
265
  requirements: []
272
- rubyforge_project:
273
- rubygems_version: 2.6.11
266
+ rubygems_version: 3.0.3
274
267
  signing_key:
275
268
  specification_version: 4
276
269
  summary: Read General Transit Feed Specification zip files