Sha256: 61a6a1fd8aa156a5397cfbd80457dff39b2ea2c0f74d423f904d19098c05d37e
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
require 'chef_fs/path_utils' module ChefFS module FileSystem class BaseFSObject def initialize(name, parent) @parent = parent @name = name if parent @path = ChefFS::PathUtils::join(parent.path, name) else if name != '' raise ArgumentError, "Name of root object must be empty string: was '#{name}' instead" end @path = '/' end end attr_reader :name attr_reader :parent attr_reader :path def root parent ? parent.root : self end def path_for_printing if parent ChefFS::PathUtils::join(parent.path_for_printing, name) else name end end def dir? false end def exists? true end def content_type :text end # Important directory attributes: name, parent, path, root # Overridable attributes: dir?, child(name), path_for_printing # Abstract: read, write, delete, children end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
knife-essentials-0.1.1 | lib/chef_fs/file_system/base_fs_object.rb |
knife-essentials-0.1 | lib/chef_fs/file_system/base_fs_object.rb |