Class MCollective::Aggregate::Base
In: lib/mcollective/aggregate/base.rb
Parent: Object

Methods

new   result_class   summarize  

Attributes

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

Public Class methods

[Source]

    # File lib/mcollective/aggregate/base.rb, line 6
 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

[Source]

    # File lib/mcollective/aggregate/base.rb, line 35
35:       def result_class(type)
36:         Result.const_get("#{type.to_s.capitalize}Result")
37:       end

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

[Source]

    # File lib/mcollective/aggregate/base.rb, line 29
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

[Validate]