class Streamingly::SerDeIterable

Public Class Methods

new(iterable, error_handler = nil) click to toggle source
# File lib/streamingly/serde_iterable.rb, line 4
def initialize(iterable, error_handler = nil)
  @iterable = iterable
  @error_handler = error_handler
  @error_callback_defined = @error_handler &&
                            @error_handler.respond_to?(:on_error)
end

Public Instance Methods

each() { |from_tabbed_csv| ... } click to toggle source
# File lib/streamingly/serde_iterable.rb, line 11
def each
  @iterable.each do |line|
    begin
      yield Streamingly::SerDe.from_tabbed_csv(line)
    rescue => error
      if @error_callback_defined
        @error_handler.on_error(error, line: line)
      else
        raise error
      end
    end
  end
end