1 <?xml version="1.0" encoding="iso-8859-1"?>
3 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
8 <title>Class: MCollective::Aggregate::Base</title>
9 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10 <meta http-equiv="Content-Script-Type" content="text/javascript" />
11 <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12 <script type="text/javascript">
15 function popupCode( url ) {
16 window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
19 function toggleCode( id ) {
20 if ( document.getElementById )
21 elem = document.getElementById( id );
22 else if ( document.all )
23 elem = eval( "document.all." + id );
27 elemStyle = elem.style;
29 if ( elemStyle.display != "block" ) {
30 elemStyle.display = "block"
32 elemStyle.display = "none"
38 // Make codeblocks hidden by default
39 document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
49 <div id="classHeader">
50 <table class="header-table">
51 <tr class="top-aligned-row">
52 <td><strong>Class</strong></td>
53 <td class="class-name-in-header">MCollective::Aggregate::Base</td>
55 <tr class="top-aligned-row">
56 <td><strong>In:</strong></td>
58 <a href="../../../files/lib/mcollective/aggregate/base_rb.html">
59 lib/mcollective/aggregate/base.rb
65 <tr class="top-aligned-row">
66 <td><strong>Parent:</strong></td>
73 <!-- banner header -->
75 <div id="bodyContent">
79 <div id="contextContent">
85 <div id="method-list">
86 <h3 class="section-bar">Methods</h3>
88 <div class="name-list">
89 <a href="#M000420">new</a>
90 <a href="#M000422">result_class</a>
91 <a href="#M000421">summarize</a>
106 <div id="attribute-list">
107 <h3 class="section-bar">Attributes</h3>
109 <div class="name-list">
111 <tr class="top-aligned-row context-row">
112 <td class="context-item-name">action</td>
113 <td class="context-item-value"> [RW] </td>
114 <td class="context-item-desc"></td>
116 <tr class="top-aligned-row context-row">
117 <td class="context-item-name">aggregate_format</td>
118 <td class="context-item-value"> [RW] </td>
119 <td class="context-item-desc"></td>
121 <tr class="top-aligned-row context-row">
122 <td class="context-item-name">arguments</td>
123 <td class="context-item-value"> [RW] </td>
124 <td class="context-item-desc"></td>
126 <tr class="top-aligned-row context-row">
127 <td class="context-item-name">name</td>
128 <td class="context-item-value"> [RW] </td>
129 <td class="context-item-desc"></td>
131 <tr class="top-aligned-row context-row">
132 <td class="context-item-name">output_name</td>
133 <td class="context-item-value"> [RW] </td>
134 <td class="context-item-desc"></td>
136 <tr class="top-aligned-row context-row">
137 <td class="context-item-name">result</td>
138 <td class="context-item-value"> [RW] </td>
139 <td class="context-item-desc"></td>
147 <!-- if method_list -->
149 <h3 class="section-bar">Public Class methods</h3>
151 <div id="method-M000420" class="method-detail">
152 <a name="M000420"></a>
154 <div class="method-heading">
155 <a href="#M000420" class="method-signature">
156 <span class="method-name">new</span><span class="method-args">(output_name, arguments, aggregate_format, action)</span>
160 <div class="method-description">
161 <p><a class="source-toggle" href="#"
162 onclick="toggleCode('M000420-source');return false;">[Source]</a></p>
163 <div class="method-source-code" id="M000420-source">
165 <span class="ruby-comment cmt"># File lib/mcollective/aggregate/base.rb, line 6</span>
166 6: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">output_name</span>, <span class="ruby-identifier">arguments</span>, <span class="ruby-identifier">aggregate_format</span>, <span class="ruby-identifier">action</span>)
167 7: <span class="ruby-ivar">@name</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">to_s</span>
168 8: <span class="ruby-ivar">@output_name</span> = <span class="ruby-identifier">output_name</span>
170 10: <span class="ruby-comment cmt"># Any additional arguments passed in the ddl after the output field will</span>
171 11: <span class="ruby-comment cmt"># be stored in the arguments array which can be used in the function</span>
172 12: <span class="ruby-ivar">@arguments</span> = <span class="ruby-identifier">arguments</span>
173 13: <span class="ruby-ivar">@aggregate_format</span> = <span class="ruby-identifier">aggregate_format</span>
174 14: <span class="ruby-ivar">@action</span> = <span class="ruby-identifier">action</span>
175 15: <span class="ruby-ivar">@result</span> = {<span class="ruby-identifier">:value</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">:type</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">:output</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">output_name</span>}
177 17: <span class="ruby-identifier">startup_hook</span>
178 18: <span class="ruby-keyword kw">end</span>
184 <h3 class="section-bar">Public Instance methods</h3>
186 <div id="method-M000422" class="method-detail">
187 <a name="M000422"></a>
189 <div class="method-heading">
190 <a href="#M000422" class="method-signature">
191 <span class="method-name">result_class</span><span class="method-args">(type)</span>
195 <div class="method-description">
196 <p><a class="source-toggle" href="#"
197 onclick="toggleCode('M000422-source');return false;">[Source]</a></p>
198 <div class="method-source-code" id="M000422-source">
200 <span class="ruby-comment cmt"># File lib/mcollective/aggregate/base.rb, line 35</span>
201 35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">result_class</span>(<span class="ruby-identifier">type</span>)
202 36: <span class="ruby-constant">Result</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-node">"#{type.to_s.capitalize}Result"</span>)
203 37: <span class="ruby-keyword kw">end</span>
209 <div id="method-M000421" class="method-detail">
210 <a name="M000421"></a>
212 <div class="method-heading">
213 <a href="#M000421" class="method-signature">
214 <span class="method-name">summarize</span><span class="method-args">()</span>
218 <div class="method-description">
220 Stops execution of the function and returns a specific ResultObject,
221 aggregate functions will most likely override this but this is the simplest
222 case so we might as well default to that
224 <p><a class="source-toggle" href="#"
225 onclick="toggleCode('M000421-source');return false;">[Source]</a></p>
226 <div class="method-source-code" id="M000421-source">
228 <span class="ruby-comment cmt"># File lib/mcollective/aggregate/base.rb, line 29</span>
229 29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">summarize</span>
230 30: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Result type is not set while trying to summarize aggregate function results"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@result</span>[<span class="ruby-identifier">:type</span>]
232 32: <span class="ruby-identifier">result_class</span>(<span class="ruby-ivar">@result</span>[<span class="ruby-identifier">:type</span>]).<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@result</span>, <span class="ruby-ivar">@aggregate_format</span>, <span class="ruby-ivar">@action</span>)
233 33: <span class="ruby-keyword kw">end</span>
246 <div id="validator-badges">
247 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>