Class: GtfsReader::FeedHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/gtfs_reader/feed_handler.rb

Overview

This handler returns each row individually as it is read in from the source.

Instance Method Summary collapse

Constructor Details

#initialize(args = [], &block) ⇒ FeedHandler

Returns a new instance of FeedHandler.



4
5
6
7
# File 'lib/gtfs_reader/feed_handler.rb', line 4

def initialize(args = [], &block)
  @read_callbacks = {}
  FeedHandlerDsl.new(self).instance_exec(*args, &block)
end

Instance Method Details

#create_read_handler(filename, *_args, &block) ⇒ Object



19
20
21
# File 'lib/gtfs_reader/feed_handler.rb', line 19

def create_read_handler(filename, *_args, &block)
  @read_callbacks[filename] = block
end

#handle_file(filename, enumerator) ⇒ Object



15
16
17
# File 'lib/gtfs_reader/feed_handler.rb', line 15

def handle_file(filename, enumerator)
  enumerator.each(&@read_callbacks[filename])
end

#handler?(filename) ⇒ Boolean

Returns if this handler can handle the given filename.

Parameters:

  • filename (String)

    the name of the file to handle

Returns:

  • (Boolean)

    if this handler can handle the given filename



11
12
13
# File 'lib/gtfs_reader/feed_handler.rb', line 11

def handler?(filename)
  @read_callbacks.key?(filename)
end