@run_list_items is an array of RunListItems that describe the items to execute in order. RunListItems can load from and convert to the string forms users set on roles and nodes. For example:
@run_list_items = ['recipe[foo::bar]', 'role[webserver]']
Thus,
self.role_names would return ['webserver'] self.recipe_names would return ['foo::bar']
@run_list_items is an array of RunListItems that describe the items to execute in order. RunListItems can load from and convert to the string forms users set on roles and nodes. For example:
@run_list_items = ['recipe[foo::bar]', 'role[webserver]']
Thus,
self.role_names would return ['webserver'] self.recipe_names would return ['foo::bar']
Add an item of the form “recipe” or “role”; takes a String or a RunListItem
# File lib/chef/run_list.rb, line 63 def <<(run_list_item) run_list_item = coerce_to_run_list_item(run_list_item) @run_list_items << run_list_item unless @run_list_items.include?(run_list_item) self end
# File lib/chef/run_list.rb, line 72 def ==(other) if other.kind_of?(Chef::RunList) other.run_list_items == @run_list_items else return false unless other.respond_to?(:size) && (other.size == @run_list_items.size) other_run_list_items = other.dup other_run_list_items.map! { |item| coerce_to_run_list_item(item) } other_run_list_items == @run_list_items end end
# File lib/chef/run_list.rb, line 96 def [](pos) @run_list_items[pos] end
# File lib/chef/run_list.rb, line 100 def []=(pos, item) @run_list_items[pos] = parse_entry(item) end
# File lib/chef/run_list.rb, line 148 def coerce_to_run_list_item(item) item.kind_of?(RunListItem) ? item : parse_entry(item) end
# File lib/chef/run_list.rb, line 104 def each(&block) @run_list_items.each { |i| block.call(i) } end
# File lib/chef/run_list.rb, line 108 def each_index(&block) @run_list_items.each_index { |i| block.call(i) } end
# File lib/chef/run_list.rb, line 92 def empty? @run_list_items.length == 0 ? true : false end
Expands this run_list: recursively expand roles into their included recipes. Returns a RunListExpansion object.
# File lib/chef/run_list.rb, line 137 def expand(environment, data_source='server', expansion_opts={}) expansion = expansion_for_data_source(environment, data_source, expansion_opts) expansion.expand expansion end
# File lib/chef/run_list.rb, line 152 def expansion_for_data_source(environment, data_source, opts={}) case data_source.to_s when 'disk' RunListExpansionFromDisk.new(environment, @run_list_items) when 'server' RunListExpansionFromAPI.new(environment, @run_list_items, opts[:rest]) end end
# File lib/chef/run_list.rb, line 112 def include?(item) @run_list_items.include?(parse_entry(item)) end
Converts a string run list entry to a RunListItem object.
# File lib/chef/run_list.rb, line 144 def parse_entry(entry) RunListItem.new(entry) end
# File lib/chef/run_list.rb, line 55 def recipe_names @run_list_items.inject([]){|memo, run_list_item| memo << run_list_item.name if run_list_item.recipe? ; memo} end
# File lib/chef/run_list.rb, line 128 def remove(item) @run_list_items.delete_if{|i| i == item} self end
# File lib/chef/run_list.rb, line 116 def reset!(*args) @run_list_items.clear args.flatten.each do |item| if item.kind_of?(Chef::RunList) item.each { |r| self << r } else self << item end end self end
# File lib/chef/run_list.rb, line 49 def role_names @run_list_items.inject([]){|memo, run_list_item| memo << run_list_item.name if run_list_item.role? ; memo} end
Generated with the Darkfish Rdoc Generator 2.