class MCollective::Aggregate::Base

Attributes

action[RW]
aggregate_format[RW]
arguments[RW]
name[RW]
output_name[RW]
result[RW]

Public Class Methods

new(output_name, arguments, aggregate_format, action) click to toggle source
   # File lib/mcollective/aggregate/base.rb
 6 def initialize(output_name, arguments, aggregate_format, action)
 7   @name = self.class.to_s
 8   @output_name = output_name
 9 
10   # Any additional arguments passed in the ddl after the output field will
11   # be stored in the arguments array which can be used in the function
12   @arguments = arguments
13   @aggregate_format = aggregate_format
14   @action = action
15   @result = {:value => nil, :type => nil, :output => output_name}
16 
17   startup_hook
18 end

Public Instance Methods

result_class(type) click to toggle source
   # File lib/mcollective/aggregate/base.rb
35 def result_class(type)
36   Result.const_get("#{type.to_s.capitalize}Result")
37 end
summarize() click to toggle source

Stops execution of the function and returns a specific ResultObject, aggregate functions will most likely override this but this is the simplest case so we might as well default to that

   # File lib/mcollective/aggregate/base.rb
29 def summarize
30   raise "Result type is not set while trying to summarize aggregate function results" unless @result[:type]
31 
32   result_class(@result[:type]).new(@result, @aggregate_format, @action)
33 end