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