summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2013-07-10 07:34:49 -0700
committerJohn Keiser <jkeiser@opscode.com>2013-07-10 07:34:49 -0700
commit8d76496431fc219398f7c3c32fc602b440991b47 (patch)
tree4eeb5dd044efa344baf6e2cb0da92f65f10056ef
parent32d0a62c17889b79ff5c6b248812faee3e58a495 (diff)
downloadchef-zero-8d76496431fc219398f7c3c32fc602b440991b47.tar.gz
Support run_list with cookbook::recipe@name syntax
-rw-r--r--lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb b/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb
index e7c83a1..efd21a4 100644
--- a/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb
+++ b/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb
@@ -13,10 +13,10 @@ module ChefZero
desired_versions = {}
run_list = JSON.parse(request.body, :create_additions => false)['run_list']
run_list.each do |run_list_entry|
- if run_list_entry =~ /(.+)(::.+)?\@(.+)/
+ if run_list_entry =~ /(.+)::.+\@(.+)/ || run_list_entry =~ /(.+)\@(.+)/
raise RestErrorResponse.new(412, "No such cookbook: #{$1}") if !cookbook_names.include?($1)
- raise RestErrorResponse.new(412, "No such cookbook version for cookbook #{$1}: #{$3}") if !list_data(request, ['cookbooks', $1]).include?($3)
- desired_versions[$1] = [ $3 ]
+ raise RestErrorResponse.new(412, "No such cookbook version for cookbook #{$1}: #{$2}") if !list_data(request, ['cookbooks', $1]).include?($2)
+ desired_versions[$1] = [ $2 ]
else
desired_cookbook = run_list_entry.split('::')[0]
raise RestErrorResponse.new(412, "No such cookbook: #{desired_cookbook}") if !cookbook_names.include?(desired_cookbook)