Class: Puppet::FileSystem::MemoryFile Private
- Defined in:
- lib/puppet/file_system/memory_file.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
An in-memory file abstraction. Commonly used with Puppet::FileSystem::File#overlay
Instance Attribute Summary collapse
- #children ⇒ Object readonly private
- #path ⇒ Object readonly private
Class Method Summary collapse
- .a_directory(path, children = []) ⇒ Object private
- .a_missing_file(path) ⇒ Object private
- .a_regular_file_containing(path, content) ⇒ Object private
- .an_executable(path) ⇒ Object private
Instance Method Summary collapse
- #absolute? ⇒ Boolean private
- #directory? ⇒ Boolean private
- #duplicate_as(other_path) ⇒ Object private
- #each_line(&block) ⇒ Object private
- #executable? ⇒ Boolean private
- #exist? ⇒ Boolean private
- #handle ⇒ Object private
-
#initialize(path, properties) ⇒ MemoryFile
constructor
private
A new instance of MemoryFile.
- #inspect ⇒ Object private
- #to_path ⇒ Object private
- #to_s ⇒ Object private
Constructor Details
#initialize(path, properties) ⇒ MemoryFile
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of MemoryFile.
26 27 28 29 30 31 32 |
# File 'lib/puppet/file_system/memory_file.rb', line 26 def initialize(path, properties) @path = path @properties = properties @children = (properties[:children] || []).collect do |child| child.duplicate_as(File.join(@path, child.path)) end end |
Instance Attribute Details
#children ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
4 5 6 |
# File 'lib/puppet/file_system/memory_file.rb', line 4 def children @children end |
#path ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
4 5 6 |
# File 'lib/puppet/file_system/memory_file.rb', line 4 def path @path end |
Class Method Details
.a_directory(path, children = []) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
18 19 20 21 22 23 24 |
# File 'lib/puppet/file_system/memory_file.rb', line 18 def self.a_directory(path, children = []) new(path, :exist? => true, :excutable? => true, :directory? => true, :children => children) end |
.a_missing_file(path) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
6 7 8 |
# File 'lib/puppet/file_system/memory_file.rb', line 6 def self.a_missing_file(path) new(path, :exist? => false, :executable? => false) end |
.a_regular_file_containing(path, content) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/puppet/file_system/memory_file.rb', line 10 def self.a_regular_file_containing(path, content) new(path, :exist? => true, :executable? => false, :content => content) end |
.an_executable(path) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
14 15 16 |
# File 'lib/puppet/file_system/memory_file.rb', line 14 def self.an_executable(path) new(path, :exist? => true, :executable? => true) end |
Instance Method Details
#absolute? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
51 52 53 |
# File 'lib/puppet/file_system/memory_file.rb', line 51 def absolute? Pathname.new(path).absolute? end |
#directory? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
34 |
# File 'lib/puppet/file_system/memory_file.rb', line 34 def directory?; @properties[:directory?]; end |
#duplicate_as(other_path) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
47 48 49 |
# File 'lib/puppet/file_system/memory_file.rb', line 47 def duplicate_as(other_path) self.class.new(other_path, @properties) end |
#each_line(&block) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
38 39 40 |
# File 'lib/puppet/file_system/memory_file.rb', line 38 def each_line(&block) handle.each_line(&block) end |
#executable? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
36 |
# File 'lib/puppet/file_system/memory_file.rb', line 36 def executable?; @properties[:executable?]; end |
#exist? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 |
# File 'lib/puppet/file_system/memory_file.rb', line 35 def exist?; @properties[:exist?]; end |
#handle ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
42 43 44 45 |
# File 'lib/puppet/file_system/memory_file.rb', line 42 def handle raise Errno::ENOENT unless exist? StringIO.new(@properties[:content] || '') end |
#inspect ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
63 64 65 |
# File 'lib/puppet/file_system/memory_file.rb', line 63 def inspect "<Puppet::FileSystem::MemoryFile:#{to_s}>" end |
#to_path ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
55 56 57 |
# File 'lib/puppet/file_system/memory_file.rb', line 55 def to_path path end |
#to_s ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
59 60 61 |
# File 'lib/puppet/file_system/memory_file.rb', line 59 def to_s to_path end |