def list(path)
return nil if deleted?(path)
if path.size == 0
return %w(containers users organizations acls)
end
case path[0]
when 'acls'
if path.size == 1
[ 'root' ] + (data.list(path + [ 'containers' ]) - [ 'organizations' ])
else
data.list(AclPath.get_object_path(path))
end
when 'containers'
[ 'containers', 'users', 'organizations' ]
when 'users'
superusers
when 'organizations'
if path.size == 1
single_org ? [ single_org ] : []
elsif path.size >= 2 && data.exists_dir?(path[0..1])
list_org_default(path)
end
end
end