class Node

Attributes

actions[RW]
definitions[R]
files[R]
jobs[R]
memberships[RW]
name[R]
path[R]
rbcm[R]
remote[R]
sandbox[R]
triggered[RW]

Public Class Methods

new(rbcm, name, path) click to toggle source
# File app/node/node.rb, line 6
def initialize rbcm, name, path
  @rbcm = rbcm
  @name = name
  @path = path
  @definitions = []
  @sandbox = RBCM::Node::Sandbox.new self
  @remote = RBCM::Node::Remote.new self
  @files = RBCM::Node::NodeFilesystem.new self, overlays: @remote.files
  @actions = RBCM::ActionList.new
  @memberships = []
  @jobs = []
  @blocked_jobs = []
  @triggered = [:file]
end

Public Instance Methods

<<(definition) click to toggle source
# File app/node/node.rb, line 21
def << definition
  @definitions << definition
end
additions() click to toggle source
# File app/node/node.rb, line 33
def additions
  @rbcm.group_additions.select{ |group, additions|
    memberships.include? group
  }.values.flatten(1)
end
capabilities() click to toggle source
# File app/node/node.rb, line 29
def capabilities
  jobs.each.capability.uniq
end
parse() click to toggle source
# File app/node/node.rb, line 25
def parse
  @sandbox.evaluate definitions.flatten.compact
end
to_str() click to toggle source
# File app/node/node.rb, line 39
def to_str
  name.to_s
end