Class: Inspec::FileProvider
- Inherits:
-
Object
- Object
- Inspec::FileProvider
- Defined in:
- lib/inspec/file_provider.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
-
#binread(file) ⇒ Object
Provide a method for reading binary contents from a file.
-
#files ⇒ Array[String]
List all files that are offered.
-
#initialize(_path) ⇒ FileProvider
constructor
A new instance of FileProvider.
-
#read(_file) ⇒ String
Read the contents of a file.
- #relative_provider ⇒ Object
Constructor Details
#initialize(_path) ⇒ FileProvider
Returns a new instance of FileProvider.
24 |
# File 'lib/inspec/file_provider.rb', line 24 def initialize(_path); end |
Class Method Details
.for_path(path) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/inspec/file_provider.rb', line 8 def self.for_path(path) if path.is_a?(Hash) MockProvider.new(path) elsif File.directory?(path) DirProvider.new(path) elsif File.exist?(path) && path.end_with?(".tar.gz", "tgz") TarProvider.new(path) elsif File.exist?(path) && path.end_with?(".zip") ZipProvider.new(path) elsif File.exist?(path) DirProvider.new(path) else raise "No file provider for the provided path: #{path}" end end |
Instance Method Details
#binread(file) ⇒ Object
Provide a method for reading binary contents from a file. It will default to #read if not defined. For most streams that implement it, it will be the same. For some special cases, it will add change the way in which encoding of the returned data structure is handled. Does not work with alias nor alias_method.
47 48 49 |
# File 'lib/inspec/file_provider.rb', line 47 def binread(file) read(file) end |
#files ⇒ Array[String]
List all files that are offered.
29 30 31 |
# File 'lib/inspec/file_provider.rb', line 29 def files raise "Fetcher #{self} does not implement `files()`. This is required." end |
#read(_file) ⇒ String
Read the contents of a file. This will typically refer to a text file reading a string.
38 39 40 |
# File 'lib/inspec/file_provider.rb', line 38 def read(_file) raise "#{self} does not implement `read(...)`. This is required." end |
#relative_provider ⇒ Object
51 52 53 |
# File 'lib/inspec/file_provider.rb', line 51 def relative_provider RelativeFileProvider.new(self) end |