class BucketCake::Decoder

Attributes

files[R]
klass[R]

Public Class Methods

new(files, klass) click to toggle source
# File lib/bucket_cake/decoder.rb, line 5
def initialize(files, klass)
  @files = files
  @klass = klass
end

Public Instance Methods

items() click to toggle source
# File lib/bucket_cake/decoder.rb, line 10
def items
  Enumerator.new do |y|
    files.each do |gzdata|
      unpack(gzdata) do |element|
        y << klass.decode(element)
      end
    end
  end
end

Private Instance Methods

unpack(gzdata) { |decode64| ... } click to toggle source
# File lib/bucket_cake/decoder.rb, line 24
def unpack(gzdata)
  Zlib::GzipReader.new(gzdata).each_line.each do |line|
    line.strip!
    next if line.empty?

    yield Base64.decode64(line)
  end
end