Sha256: ff39b294c2a0fb4da1e3f0c1dea1d91f69c67be478af64992846ee0493368517
Contents?: true
Size: 878 Bytes
Versions: 1
Compression:
Stored size: 878 Bytes
Contents
require 'rubygems/package' # was helpful http://old.thoughtsincomputation.com/posts/tar-and-a-few-feathers-in-ruby module Swathe class Tar < Archive attr_accessor :tar_reader include Enumerable def initialize(io) self.tar_reader = Gem::Package::TarReader.new(io) end def self.open(file_name) new(File.open(file_name)) end def tar? true end def each return enum_for(__callee__) unless block_given? tar_reader.rewind tar_reader.each {|e| yield(e) } end def subset Enumerator.new do |files| each do |entry| files << entry if yield(entry) end end end def files subset {|e| e.file? } end def directories subset {|e| e.directory? } end def entry(filename) detect {|f| filename === f.full_name } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
swathe-0.0.1 | lib/swathe/tar.rb |