class GtfsReader::Config::Source
A single source of GTFS data
Attributes
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/gtfs_reader/config/source.rb, line 15 def initialize(name) @name = name @feed_definition = Config::Defaults::FEED_DEFINITION @feed_handler = FeedHandler.new {} @url = nil @before = nil end
Public Instance Methods
before(&block)
click to toggle source
Define a block to call before the source is read. If this block returns false
, cancel processing the source
# File lib/gtfs_reader/config/source.rb, line 39 def before(&block) @before = block if block_given? @before end
feed_definition(&block)
click to toggle source
# File lib/gtfs_reader/config/source.rb, line 44 def feed_definition(&block) if block_given? @feed_definition = FeedDefinition.new.tap do |feed| feed.instance_exec(feed, &block) end end @feed_definition end
handlers(*args, &block)
click to toggle source
# File lib/gtfs_reader/config/source.rb, line 54 def handlers(*args, &block) if block_given? opts = args.last.try(:is_a?, Hash) ? args.pop : {} opts = opts.reverse_merge bulk: nil @feed_handler = if opts[:bulk] BulkFeedHandler.new(opts[:bulk], args, &block) else FeedHandler.new(args, &block) end end @feed_handler end
title(title = nil)
click to toggle source
@param title [String] if given, will be used as the title of this source @return [String] the title of this source
# File lib/gtfs_reader/config/source.rb, line 25 def title(title = nil) @title = title if title.present? @title end
url(url = nil)
click to toggle source
@param url [String] if given, will be used as the URL for this source @return [String] the URL this source's ZIP file
# File lib/gtfs_reader/config/source.rb, line 32 def url(url = nil) @url = url if url.present? @url end