Parent

Included Modules

Files

Class/Module Index [+]

Quicksearch

Chef::RunList

Attributes

run_list[R]

@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[R]

@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']

Public Class Methods

new(*run_list_items) click to toggle source
# File lib/chef/run_list.rb, line 45
def initialize(*run_list_items)
  @run_list_items = run_list_items.map { |i| coerce_to_run_list_item(i) }
end

Public Instance Methods

<<(run_list_item) click to toggle source

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
Also aliased as: push, add
==(other) click to toggle source
# 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
[](pos) click to toggle source
# File lib/chef/run_list.rb, line 96
def [](pos)
  @run_list_items[pos]
end
[]=(pos, item) click to toggle source
# File lib/chef/run_list.rb, line 100
def []=(pos, item)
  @run_list_items[pos] = parse_entry(item)
end
add(run_list_item) click to toggle source
Alias for: <<
coerce_to_run_list_item(item) click to toggle source
# File lib/chef/run_list.rb, line 148
def coerce_to_run_list_item(item)
  item.kind_of?(RunListItem) ? item : parse_entry(item)
end
delete(item) click to toggle source
Alias for: remove
each(&block) click to toggle source
# File lib/chef/run_list.rb, line 104
def each(&block)
  @run_list_items.each { |i| block.call(i) }
end
each_index(&block) click to toggle source
# File lib/chef/run_list.rb, line 108
def each_index(&block)
  @run_list_items.each_index { |i| block.call(i) }
end
empty?() click to toggle source
# File lib/chef/run_list.rb, line 92
def empty?
  @run_list_items.length == 0 ? true : false
end
expand(environment, data_source='server', expansion_opts={}) click to toggle source

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
expansion_for_data_source(environment, data_source, opts={}) click to toggle source
# 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
include?(item) click to toggle source
# File lib/chef/run_list.rb, line 112
def include?(item)
  @run_list_items.include?(parse_entry(item))
end
parse_entry(entry) click to toggle source

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
push(run_list_item) click to toggle source
Alias for: <<
recipe_names() click to toggle source
# 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
Also aliased as: recipes
recipes() click to toggle source
Alias for: recipe_names
remove(item) click to toggle source
# File lib/chef/run_list.rb, line 128
def remove(item)
  @run_list_items.delete_if{|i| i == item}
  self
end
Also aliased as: delete
reset!(*args) click to toggle source
# 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
role_names() click to toggle source
# 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
Also aliased as: roles
roles() click to toggle source
Alias for: role_names
to_json(*args) click to toggle source
# File lib/chef/run_list.rb, line 88
def to_json(*args)
  to_a.map { |item| item.to_s}.to_json(*args)
end
to_s() click to toggle source
# File lib/chef/run_list.rb, line 84
def to_s
  @run_list_items.join(", ")
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.