Parent

Files

Class/Module Index [+]

Quicksearch

Chef::ChefFS::FileSystem::CookbooksDir

Public Class Methods

new(parent) click to toggle source
# File lib/chef/chef_fs/file_system/cookbooks_dir.rb, line 26
def initialize(parent)
  super("cookbooks", parent)
end

Public Instance Methods

can_have_child?(name, is_dir) click to toggle source
# File lib/chef/chef_fs/file_system/cookbooks_dir.rb, line 62
def can_have_child?(name, is_dir)
  is_dir
end
child(name) click to toggle source
# File lib/chef/chef_fs/file_system/cookbooks_dir.rb, line 30
def child(name)
  result = @children.select { |child| child.name == name }.first if @children
  result || CookbookDir.new(name, self)
end
children() click to toggle source
# File lib/chef/chef_fs/file_system/cookbooks_dir.rb, line 35
def children
  @children ||= rest.get_rest(api_path).map { |key, value| CookbookDir.new(key, self, value) }
end
create_child_from(other) click to toggle source
# File lib/chef/chef_fs/file_system/cookbooks_dir.rb, line 39
def create_child_from(other)
  upload_cookbook_from(other)
end
upload_cookbook_from(other) click to toggle source
# File lib/chef/chef_fs/file_system/cookbooks_dir.rb, line 43
def upload_cookbook_from(other)
  other_cookbook_version = other.chef_object
  # TODO this only works on the file system.  And it can't be broken into
  # pieces.
  begin
    uploader = Chef::CookbookUploader.new(other_cookbook_version, other.parent.file_path)
    uploader.upload_cookbooks
  rescue Net::HTTPServerException => e
    case e.response.code
    when "409"
      ui.error "Version #{other_cookbook_version.version} of cookbook #{other_cookbook_version.name} is frozen. Use --force to override."
      Chef::Log.debug(e)
      raise Exceptions::CookbookFrozen
    else
      raise
    end
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.