class ChefDK::CookbookMetadata

Subclass of Chef's Cookbook::Metadata class that provides the API expected by CookbookOmnifetch

Public Class Methods

from_path(path) click to toggle source
# File lib/chef-dk/cookbook_metadata.rb, line 27
def self.from_path(path)
  metadata_json_path = File.join(path, "metadata.json")
  metadata_rb_path = File.join(path, "metadata.rb")

  if File.exist?(metadata_json_path)
    new.tap { |m| m.from_json(File.read(metadata_json_path)) }
  elsif File.exist?(metadata_rb_path)
    new.tap { |m| m.from_file(metadata_rb_path) }
  else
    raise MalformedCookbook, "Cookbook at #{path} has neither metadata.json or metadata.rb"
  end
end

Public Instance Methods

cookbook_name() click to toggle source
# File lib/chef-dk/cookbook_metadata.rb, line 40
def cookbook_name
  name
end