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::RPC::Result</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::RPC::Result</td>
55 <tr class="top-aligned-row">
56 <td><strong>In:</strong></td>
58 <a href="../../../files/lib/mcollective/rpc/result_rb.html">
59 lib/mcollective/rpc/result.rb
65 <tr class="top-aligned-row">
66 <td><strong>Parent:</strong></td>
73 <!-- banner header -->
75 <div id="bodyContent">
79 <div id="contextContent">
81 <div id="description">
83 Simple class to manage compliant results from <a
84 href="../RPC.html">MCollective::RPC</a> agents
87 Currently it just fakes Hash behaviour to the result to remain backward
88 compatible but it also knows which agent and action produced it so you can
89 associate results to a <a href="../DDL.html">DDL</a>
97 <div id="method-list">
98 <h3 class="section-bar">Methods</h3>
100 <div class="name-list">
101 <a href="#M000054">[]</a>
102 <a href="#M000055">[]=</a>
103 <a href="#M000057">each</a>
104 <a href="#M000056">fetch</a>
105 <a href="#M000053">new</a>
106 <a href="#M000058">to_json</a>
115 <h3 class="section-bar">Included Modules</h3>
117 <div id="includes-list">
118 <span class="include-name">Enumerable</span>
128 <div id="attribute-list">
129 <h3 class="section-bar">Attributes</h3>
131 <div class="name-list">
133 <tr class="top-aligned-row context-row">
134 <td class="context-item-name">action</td>
135 <td class="context-item-value"> [R] </td>
136 <td class="context-item-desc"></td>
138 <tr class="top-aligned-row context-row">
139 <td class="context-item-name">agent</td>
140 <td class="context-item-value"> [R] </td>
141 <td class="context-item-desc"></td>
143 <tr class="top-aligned-row context-row">
144 <td class="context-item-name">results</td>
145 <td class="context-item-value"> [R] </td>
146 <td class="context-item-desc"></td>
154 <!-- if method_list -->
156 <h3 class="section-bar">Public Class methods</h3>
158 <div id="method-M000053" class="method-detail">
159 <a name="M000053"></a>
161 <div class="method-heading">
162 <a href="#M000053" class="method-signature">
163 <span class="method-name">new</span><span class="method-args">(agent, action, result={})</span>
167 <div class="method-description">
168 <p><a class="source-toggle" href="#"
169 onclick="toggleCode('M000053-source');return false;">[Source]</a></p>
170 <div class="method-source-code" id="M000053-source">
172 <span class="ruby-comment cmt"># File lib/mcollective/rpc/result.rb, line 13</span>
173 13: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">agent</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">result</span>={})
174 14: <span class="ruby-ivar">@agent</span> = <span class="ruby-identifier">agent</span>
175 15: <span class="ruby-ivar">@action</span> = <span class="ruby-identifier">action</span>
176 16: <span class="ruby-ivar">@results</span> = <span class="ruby-identifier">result</span>
177 17: <span class="ruby-keyword kw">end</span>
183 <h3 class="section-bar">Public Instance methods</h3>
185 <div id="method-M000054" class="method-detail">
186 <a name="M000054"></a>
188 <div class="method-heading">
189 <a href="#M000054" class="method-signature">
190 <span class="method-name">[]</span><span class="method-args">(idx)</span>
194 <div class="method-description">
195 <p><a class="source-toggle" href="#"
196 onclick="toggleCode('M000054-source');return false;">[Source]</a></p>
197 <div class="method-source-code" id="M000054-source">
199 <span class="ruby-comment cmt"># File lib/mcollective/rpc/result.rb, line 19</span>
200 19: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">idx</span>)
201 20: <span class="ruby-ivar">@results</span>[<span class="ruby-identifier">idx</span>]
202 21: <span class="ruby-keyword kw">end</span>
208 <div id="method-M000055" class="method-detail">
209 <a name="M000055"></a>
211 <div class="method-heading">
212 <a href="#M000055" class="method-signature">
213 <span class="method-name">[]=</span><span class="method-args">(idx, item)</span>
217 <div class="method-description">
218 <p><a class="source-toggle" href="#"
219 onclick="toggleCode('M000055-source');return false;">[Source]</a></p>
220 <div class="method-source-code" id="M000055-source">
222 <span class="ruby-comment cmt"># File lib/mcollective/rpc/result.rb, line 23</span>
223 23: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">item</span>)
224 24: <span class="ruby-ivar">@results</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">item</span>
225 25: <span class="ruby-keyword kw">end</span>
231 <div id="method-M000057" class="method-detail">
232 <a name="M000057"></a>
234 <div class="method-heading">
235 <a href="#M000057" class="method-signature">
236 <span class="method-name">each</span><span class="method-args">() {|k,v| ...}</span>
240 <div class="method-description">
241 <p><a class="source-toggle" href="#"
242 onclick="toggleCode('M000057-source');return false;">[Source]</a></p>
243 <div class="method-source-code" id="M000057-source">
245 <span class="ruby-comment cmt"># File lib/mcollective/rpc/result.rb, line 31</span>
246 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
247 32: <span class="ruby-ivar">@results</span>.<span class="ruby-identifier">each_pair</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>) }
248 33: <span class="ruby-keyword kw">end</span>
254 <div id="method-M000056" class="method-detail">
255 <a name="M000056"></a>
257 <div class="method-heading">
258 <a href="#M000056" class="method-signature">
259 <span class="method-name">fetch</span><span class="method-args">(key, default)</span>
263 <div class="method-description">
264 <p><a class="source-toggle" href="#"
265 onclick="toggleCode('M000056-source');return false;">[Source]</a></p>
266 <div class="method-source-code" id="M000056-source">
268 <span class="ruby-comment cmt"># File lib/mcollective/rpc/result.rb, line 27</span>
269 27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">default</span>)
270 28: <span class="ruby-ivar">@results</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">default</span>)
271 29: <span class="ruby-keyword kw">end</span>
277 <div id="method-M000058" class="method-detail">
278 <a name="M000058"></a>
280 <div class="method-heading">
281 <a href="#M000058" class="method-signature">
282 <span class="method-name">to_json</span><span class="method-args">(*a)</span>
286 <div class="method-description">
287 <p><a class="source-toggle" href="#"
288 onclick="toggleCode('M000058-source');return false;">[Source]</a></p>
289 <div class="method-source-code" id="M000058-source">
291 <span class="ruby-comment cmt"># File lib/mcollective/rpc/result.rb, line 35</span>
292 35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
293 36: {<span class="ruby-identifier">:agent</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@agent</span>,
294 37: <span class="ruby-identifier">:action</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@action</span>,
295 38: <span class="ruby-identifier">:sender</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@results</span>[<span class="ruby-identifier">:sender</span>],
296 39: <span class="ruby-identifier">:statuscode</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@results</span>[<span class="ruby-identifier">:statuscode</span>],
297 40: <span class="ruby-identifier">:statusmsg</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@results</span>[<span class="ruby-identifier">:statusmsg</span>],
298 41: <span class="ruby-identifier">:data</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@results</span>[<span class="ruby-identifier">:data</span>]}.<span class="ruby-identifier">to_json</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)
299 42: <span class="ruby-keyword kw">end</span>
312 <div id="validator-badges">
313 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>