class GithubbishAssets::Packer::MultiFile

A class that emulates continuous reading from a bunch of files

Public Class Methods

new(files) click to toggle source
# File lib/githubbish_assets/packer.rb, line 76
def initialize(files)
  @files = files
  @file = nil
end

Public Instance Methods

close() click to toggle source
# File lib/githubbish_assets/packer.rb, line 95
def close
  @file && @file.close
end
read(size) click to toggle source
# File lib/githubbish_assets/packer.rb, line 81
def read(size)
  while true
    if @file
      res = @file.read(size)

      return res if res
    end

    return if @files.empty?

    @file = File.open(@files.shift, 'r')
  end
end