Parent

Methods

HipChat::NotifyRoom

Public Class Methods

new(api_token, room_name, notify_users=false, report_success=false, excluded_envs=[]) click to toggle source
# File lib/hipchat/chef.rb, line 18
def initialize(api_token, room_name, notify_users=false, report_success=false, excluded_envs=[])
  @api_token = api_token
  @room_name = room_name
  @notify_users = notify_users
  @report_success = report_success
  @excluded_envs = excluded_envs
end

Public Instance Methods

report() click to toggle source
# File lib/hipchat/chef.rb, line 26
def report
  unless @excluded_envs.include?(node.chef_environment)
    msg = if run_status.failed? then "Failure on \"#{node.name}\" (\"#{node.chef_environment}\" env): #{run_status.formatted_exception}"
          elsif run_status.success? && @report_success
            "Chef run on \"#{node.name}\" completed in #{run_status.elapsed_time.round(2)} seconds"
          else nil
          end

    color = if run_status.success? then 'green'
            else 'red'
            end

    if msg
      client = HipChat::Client.new(@api_token)
      client[@room_name].send('Chef', msg, :notify => @notify_users, :color => color)
    end
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.