class Dust::Messages

Attributes

current_recipe[R]

Public Class Methods

new() click to toggle source
# File lib/dust/messaging.rb, line 8
def initialize
  @store = {}

  # store non-recipe messages in _node
  start_recipe('_node')
end

Public Instance Methods

add(msg, options = {}) click to toggle source
# File lib/dust/messaging.rb, line 15
def add(msg, options = {})
  m = Message.new(msg, options)
  @store[@current_recipe] << m
  m
end
collect(level = 'all') click to toggle source
# File lib/dust/messaging.rb, line 40
def collect(level = 'all')
  case level
  when 'all'
    l = [ 'none', 'ok', 'warning', 'failed' ]
  when 'warning'
    l = [ 'warning', 'failed' ]
  when 'failed'
    l = [ 'failed' ]
  else
    puts "WARNING: unknown error level '#{level}', using 'all'".yellow
    l = [ 'none', 'ok', 'warning', 'failed' ]
  end

  errors = {}
  @store.each do |recipe, messages|
    messages.each do |msg|
      if l.include? msg.status
        errors[recipe] ||= []
        errors[recipe] << msg.text
      end
    end
  end

  errors
end
print_hostname_header(host) click to toggle source

print hostname

print_recipe_header(recipe) click to toggle source

print recipe name

start_recipe(recipe) click to toggle source
# File lib/dust/messaging.rb, line 21
def start_recipe(recipe)
  @current_recipe = recipe

  # display recipe header, unless we're starting non-recipe messages
  print_recipe_header(recipe) if recipe != '_node' and not $parallel 
  
  @store[@current_recipe] = []
end