summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2013-06-11 22:11:31 -0700
committerJohn Keiser <jkeiser@opscode.com>2013-06-11 22:11:31 -0700
commite1e7020d7349ab2b4f1ce0a49926a4dc564a3067 (patch)
tree0829c3cecc547095f3feee5ef2228c59af297270
parent8d77a1b2a770c8712626a28c366789552365d95c (diff)
downloadchef-zero-e1e7020d7349ab2b4f1ce0a49926a4dc564a3067.tar.gz
Provide reasonable default filename to metadata.rb when real filename unavailable
-rw-r--r--lib/chef_zero/cookbook_data.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/chef_zero/cookbook_data.rb b/lib/chef_zero/cookbook_data.rb
index fbfd964..10c2002 100644
--- a/lib/chef_zero/cookbook_data.rb
+++ b/lib/chef_zero/cookbook_data.rb
@@ -33,9 +33,10 @@ module ChefZero
# the resulting recipe list have 1, or 3-4 recipes in it?
if has_child(directory, 'metadata.rb')
begin
- metadata.instance_eval(read_file(directory, 'metadata.rb'), File.join(filename(directory), 'metadata.rb'))
+ file = filename(directory, 'metadata.rb') || "(#{name}/metadata.rb)"
+ metadata.instance_eval(read_file(directory, 'metadata.rb'), file)
rescue
- ChefZero::Log.error("Error loading cookbook #{name}: #{$!}")
+ ChefZero::Log.error("Error loading cookbook #{name}: #{$!}\n#{$!.backtrace}")
end
elsif has_child(directory, 'metadata.json')
metadata.from_json(read_file(directory, 'metadata.json'))
@@ -165,9 +166,9 @@ module ChefZero
end
end
- def self.filename(directory)
+ def self.filename(directory, name)
if directory.respond_to?(:file_path)
- directory.file_path
+ File.join(directory.file_path, name)
else
nil
end