class Chef::ChefFS::FileSystem::AclDir

Public Instance Methods

api_path() click to toggle source
# File lib/chef/chef_fs/file_system/acl_dir.rb, line 27
def api_path
  parent.parent.child(name).api_path
end
can_have_child?(name, is_dir) click to toggle source
# File lib/chef/chef_fs/file_system/acl_dir.rb, line 37
def can_have_child?(name, is_dir)
  name =~ /\.json$/ && !is_dir
end
child(name) click to toggle source
# File lib/chef/chef_fs/file_system/acl_dir.rb, line 31
def child(name)
  result = @children.select { |child| child.name == name }.first if @children
  result ||= can_have_child?(name, false) ?
             AclEntry.new(name, self) : NonexistentFSObject.new(name, self)
end
children() click to toggle source
# File lib/chef/chef_fs/file_system/acl_dir.rb, line 41
def children
  if @children.nil?
    # Grab the ACTUAL children (/nodes, /containers, etc.) and get their names
    names = parent.parent.child(name).children.map { |child| child.dir? ? "#{child.name}.json" : child.name }
    @children = names.map { |name| AclEntry.new(name, self, true) }
  end
  @children
end
create_child(name, file_contents) click to toggle source
# File lib/chef/chef_fs/file_system/acl_dir.rb, line 50
def create_child(name, file_contents)
  raise OperationNotAllowedError.new(:create_child, self), "ACLs can only be updated, and can only be created when the corresponding object is created."
end
data_handler() click to toggle source
# File lib/chef/chef_fs/file_system/acl_dir.rb, line 54
def data_handler
  parent.data_handler
end
rest() click to toggle source
# File lib/chef/chef_fs/file_system/acl_dir.rb, line 58
def rest
  parent.rest
end