class Chef::Knife::RoleRunListReplace
def replace_in_env_run_list(role, environment, old_entry, new_entry)
def replace_in_env_run_list(role, environment, old_entry, new_entry) nlist = [] role.run_list_for(environment).each do |entry| if entry == old_entry nlist << new_entry else nlist << entry end end role.env_run_lists_add(environment => nlist) end
def run
def run role = Chef::Role.load(@name_args[0]) role.name(@name_args[0]) environment = "_default" old_entry = @name_args[1] new_entry = @name_args[2] replace_in_env_run_list(role, environment, old_entry, new_entry) role.save config[:env_run_list] = true output(format_for_display(role)) end