Sha256: 39a54c89f81fc6f50d245dd2f416cabd809d4152a4f2e92aa162e4c41822b6fe
Contents?: true
Size: 760 Bytes
Versions: 29
Compression:
Stored size: 760 Bytes
Contents
require 'arc-furnace/source' module ArcFurnace class EnumeratorSource < Source private_attr_reader :enumerator attr_reader :value def initialize @enumerator = build_enumerator preprocess advance end # Called after setting up the enumerator but before advancing it # Use this to extract header rows for instance. def preprocess # nothing end # Is this source empty? def empty? !value end def advance @value = begin enumerator.next if enumerator rescue StopIteration @enumerator = nil nil end end protected # Return the enumerator def build_enumerator raise "Unimplemented" end end end
Version data entries
29 entries across 29 versions & 1 rubygems