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
-
#to_str ⇒ Object
private
Used by Ruby 1.8.7 file system abstractions when operating on Pathname like things.
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.
68 69 70 |
# File 'lib/puppet/file_system/memory_file.rb', line 68 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 |
#to_str ⇒ 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.
Used by Ruby 1.8.7 file system abstractions when operating on Pathname like things.
64 65 66 |
# File 'lib/puppet/file_system/memory_file.rb', line 64 def to_str to_path end |