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_directory(path) ⇒ Object private
- .a_missing_file(path) ⇒ Object private
- .a_regular_file_containing(path, content) ⇒ Object private
- .a_symlink(target_path, source_path) ⇒ 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
- #source_path ⇒ Object private
- #symlink? ⇒ Boolean 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.
37 38 39 40 41 42 43 |
# File 'lib/puppet/file_system/memory_file.rb', line 37 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.
25 26 27 28 29 30 31 |
# File 'lib/puppet/file_system/memory_file.rb', line 25 def self.a_directory(path, children = []) new(path, :exist? => true, :executable? => true, :directory? => true, :children => children) end |
.a_missing_directory(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.
10 11 12 13 14 15 |
# File 'lib/puppet/file_system/memory_file.rb', line 10 def self.a_missing_directory(path) new(path, :exist? => false, :executable? => false, :directory? => true) 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.
17 18 19 |
# File 'lib/puppet/file_system/memory_file.rb', line 17 def self.a_regular_file_containing(path, content) new(path, :exist? => true, :executable? => false, :content => content) end |
.a_symlink(target_path, source_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.
33 34 35 |
# File 'lib/puppet/file_system/memory_file.rb', line 33 def self.a_symlink(target_path, source_path) new(target_path, :exist? => true, :symlink? => true, :source_path => source_path) 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.
21 22 23 |
# File 'lib/puppet/file_system/memory_file.rb', line 21 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.
64 65 66 |
# File 'lib/puppet/file_system/memory_file.rb', line 64 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.
45 |
# File 'lib/puppet/file_system/memory_file.rb', line 45 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.
60 61 62 |
# File 'lib/puppet/file_system/memory_file.rb', line 60 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.
51 52 53 |
# File 'lib/puppet/file_system/memory_file.rb', line 51 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.
47 |
# File 'lib/puppet/file_system/memory_file.rb', line 47 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.
46 |
# File 'lib/puppet/file_system/memory_file.rb', line 46 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.
55 56 57 58 |
# File 'lib/puppet/file_system/memory_file.rb', line 55 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.
76 77 78 |
# File 'lib/puppet/file_system/memory_file.rb', line 76 def inspect "<Puppet::FileSystem::MemoryFile:#{self}>" end |
#source_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.
49 |
# File 'lib/puppet/file_system/memory_file.rb', line 49 def source_path; @properties[:source_path]; end |
#symlink? ⇒ 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.
48 |
# File 'lib/puppet/file_system/memory_file.rb', line 48 def symlink?; @properties[:symlink?]; 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.
68 69 70 |
# File 'lib/puppet/file_system/memory_file.rb', line 68 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.
72 73 74 |
# File 'lib/puppet/file_system/memory_file.rb', line 72 def to_s to_path end |