Class/Module Index [+]

Quicksearch

Ironfan::Provider::ChefServer::Role

Public Class Methods

expected_ids(computer) click to toggle source
# File lib/ironfan/provider/chef/role.rb, line 21
def self.expected_ids(computer)
  [ computer.server.cluster_role.name.to_s,
    computer.server.facet_role.name.to_s ]
end
load!(cluster=nil) click to toggle source

Discovery

# File lib/ironfan/provider/chef/role.rb, line 49
def self.load!(cluster=nil)
  query = cluster && "name:#{cluster.name}-*"
  ChefServer.search(:role,query) do |raw|
    next unless raw.present?
    role = register(raw)
    Chef::Log.debug("Loaded #{role}")
  end
end
multiple?() click to toggle source
# File lib/ironfan/provider/chef/role.rb, line 18
def self.multiple?()    true;   end
new(config={}) click to toggle source
# File lib/ironfan/provider/chef/role.rb, line 26
def initialize(config={})
  super
  if self.adaptee.nil? and not config[:expected].nil?
    expected = config[:expected]
    desc = "Ironfan generated role for #{expected.name}"
    self.adaptee = Chef::Role.new
    self.name                   expected.name
    self.override_attributes    expected.override_attributes
    self.default_attributes     expected.default_attributes
    self.description            desc
  end
  raise "Missing adaptee" if self.adaptee.nil?
  self
end
resource_type() click to toggle source

def self.resource_type() self; end

# File lib/ironfan/provider/chef/role.rb, line 20
def self.resource_type()        :role;   end
save!(computer) click to toggle source

Manipulation

# File lib/ironfan/provider/chef/role.rb, line 61
def self.save!(computer)
  dsl_roles = []
  dsl_roles << computer.server.cluster_role
  dsl_roles << computer.server.facet_role

  dsl_roles.each do |dsl_role|
    next if recall? dsl_role.name       # Handle each role only once
    role = remember new(:expected => dsl_role)
    role.save
  end
end
shared?() click to toggle source
# File lib/ironfan/provider/chef/role.rb, line 17
def self.shared?()      true;   end

Public Instance Methods

to_s() click to toggle source
# File lib/ironfan/provider/chef/role.rb, line 41
def to_s
  "<%-15s %-23s %s>" % [
    self.class.handle, name, run_list]
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.