Class: Inspec::TarProvider

Inherits:
FileProvider show all
Defined in:
lib/inspec/file_provider.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from FileProvider

#binread, for_path, #relative_provider

Constructor Details

#initialize(path) ⇒ TarProvider

Returns a new instance of TarProvider.



130
131
132
133
134
135
136
137
# File 'lib/inspec/file_provider.rb', line 130

def initialize(path)
  @path = path
  @contents = {}
  @files = []
  Gem::Package::TarReader.new(Zlib::GzipReader.open(@path)) do |tar|
    @files = tar.map(&:full_name)
  end
end

Instance Attribute Details

#filesObject (readonly)

Returns the value of attribute files.



128
129
130
# File 'lib/inspec/file_provider.rb', line 128

def files
  @files
end

Instance Method Details

#read(file) ⇒ Object



139
140
141
# File 'lib/inspec/file_provider.rb', line 139

def read(file)
  @contents[file] ||= read_from_tar(file)
end