Update version according to OSCI-856
[packages/precise/mcollective.git] / doc / classes / MCollective / Generators / AgentGenerator.html
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE html 
3      PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
6 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7 <head>
8   <title>Class: MCollective::Generators::AgentGenerator</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">
13   // <![CDATA[
14
15   function popupCode( url ) {
16     window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17   }
18
19   function toggleCode( id ) {
20     if ( document.getElementById )
21       elem = document.getElementById( id );
22     else if ( document.all )
23       elem = eval( "document.all." + id );
24     else
25       return false;
26
27     elemStyle = elem.style;
28     
29     if ( elemStyle.display != "block" ) {
30       elemStyle.display = "block"
31     } else {
32       elemStyle.display = "none"
33     }
34
35     return true;
36   }
37   
38   // Make codeblocks hidden by default
39   document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40   
41   // ]]>
42   </script>
43
44 </head>
45 <body>
46
47
48
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::Generators::AgentGenerator</td>
54         </tr>
55         <tr class="top-aligned-row">
56             <td><strong>In:</strong></td>
57             <td>
58                 <a href="../../../files/lib/mcollective/generators/agent_generator_rb.html">
59                 lib/mcollective/generators/agent_generator.rb
60                 </a>
61         <br />
62             </td>
63         </tr>
64
65         <tr class="top-aligned-row">
66             <td><strong>Parent:</strong></td>
67             <td>
68                 <a href="Base.html">
69                 Base
70                </a>
71             </td>
72         </tr>
73         </table>
74     </div>
75   <!-- banner header -->
76
77   <div id="bodyContent">
78
79
80
81   <div id="contextContent">
82
83
84
85    </div>
86
87     <div id="method-list">
88       <h3 class="section-bar">Methods</h3>
89
90       <div class="name-list">
91       <a href="#M000252">action_help</a>&nbsp;&nbsp;
92       <a href="#M000250">create_ddl</a>&nbsp;&nbsp;
93       <a href="#M000251">create_plugin_content</a>&nbsp;&nbsp;
94       <a href="#M000249">new</a>&nbsp;&nbsp;
95       </div>
96     </div>
97
98   </div>
99
100
101     <!-- if includes -->
102
103     <div id="section">
104
105
106
107
108
109     <div id="attribute-list">
110       <h3 class="section-bar">Attributes</h3>
111
112       <div class="name-list">
113         <table>
114         <tr class="top-aligned-row context-row">
115           <td class="context-item-name">content</td>
116           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
117           <td class="context-item-desc"></td>
118         </tr>
119         <tr class="top-aligned-row context-row">
120           <td class="context-item-name">ddl</td>
121           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
122           <td class="context-item-desc"></td>
123         </tr>
124         </table>
125       </div>
126     </div>
127       
128
129
130     <!-- if method_list -->
131     <div id="methods">
132       <h3 class="section-bar">Public Class methods</h3>
133
134       <div id="method-M000249" class="method-detail">
135         <a name="M000249"></a>
136
137         <div class="method-heading">
138           <a href="#M000249" class="method-signature">
139           <span class="method-name">new</span><span class="method-args">(plugin_name, actions = [], name = nil, description = nil, author = nil , license = nil, version = nil, url = nil, timeout = nil)</span>
140           </a>
141         </div>
142       
143         <div class="method-description">
144           <p><a class="source-toggle" href="#"
145             onclick="toggleCode('M000249-source');return false;">[Source]</a></p>
146           <div class="method-source-code" id="M000249-source">
147 <pre>
148     <span class="ruby-comment cmt"># File lib/mcollective/generators/agent_generator.rb, line 7</span>
149  7:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">plugin_name</span>, <span class="ruby-identifier">actions</span> = [],  <span class="ruby-identifier">name</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">description</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">author</span> = <span class="ruby-keyword kw">nil</span> ,
150  8:                      <span class="ruby-identifier">license</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">version</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">url</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">timeout</span> = <span class="ruby-keyword kw">nil</span>)
151  9: 
152 10:         <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">description</span>, <span class="ruby-identifier">author</span>, <span class="ruby-identifier">license</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">timeout</span>)
153 11:         <span class="ruby-ivar">@plugin_name</span> = <span class="ruby-identifier">plugin_name</span>
154 12:         <span class="ruby-ivar">@actions</span> = <span class="ruby-identifier">actions</span> <span class="ruby-operator">||</span> []
155 13:         <span class="ruby-ivar">@ddl</span> = <span class="ruby-identifier">create_ddl</span>
156 14:         <span class="ruby-ivar">@mod_name</span> = <span class="ruby-value str">&quot;Agent&quot;</span>
157 15:         <span class="ruby-ivar">@pclass</span> = <span class="ruby-value str">&quot;RPC::Agent&quot;</span>
158 16:         <span class="ruby-ivar">@content</span> = <span class="ruby-identifier">create_plugin_content</span>
159 17:         <span class="ruby-ivar">@plugin</span> = <span class="ruby-identifier">create_plugin_string</span>
160 18:         <span class="ruby-identifier">write_plugins</span>
161 19:       <span class="ruby-keyword kw">end</span>
162 </pre>
163           </div>
164         </div>
165       </div>
166
167       <h3 class="section-bar">Public Instance methods</h3>
168
169       <div id="method-M000252" class="method-detail">
170         <a name="M000252"></a>
171
172         <div class="method-heading">
173           <a href="#M000252" class="method-signature">
174           <span class="method-name">action_help</span><span class="method-args">()</span>
175           </a>
176         </div>
177       
178         <div class="method-description">
179           <p><a class="source-toggle" href="#"
180             onclick="toggleCode('M000252-source');return false;">[Source]</a></p>
181           <div class="method-source-code" id="M000252-source">
182 <pre>
183     <span class="ruby-comment cmt"># File lib/mcollective/generators/agent_generator.rb, line 45</span>
184 45:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">action_help</span>
185 46:         <span class="ruby-identifier">action_snippet</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>), <span class="ruby-value str">&quot;templates&quot;</span>, <span class="ruby-value str">&quot;action_snippet.erb&quot;</span>))
186 47:         <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">action_snippet</span>).<span class="ruby-identifier">result</span>
187 48:       <span class="ruby-keyword kw">end</span>
188 </pre>
189           </div>
190         </div>
191       </div>
192
193       <div id="method-M000250" class="method-detail">
194         <a name="M000250"></a>
195
196         <div class="method-heading">
197           <a href="#M000250" class="method-signature">
198           <span class="method-name">create_ddl</span><span class="method-args">()</span>
199           </a>
200         </div>
201       
202         <div class="method-description">
203           <p><a class="source-toggle" href="#"
204             onclick="toggleCode('M000250-source');return false;">[Source]</a></p>
205           <div class="method-source-code" id="M000250-source">
206 <pre>
207     <span class="ruby-comment cmt"># File lib/mcollective/generators/agent_generator.rb, line 21</span>
208 21:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_ddl</span>
209 22:         <span class="ruby-identifier">action_text</span> = <span class="ruby-value str">&quot;&quot;</span>
210 23:         <span class="ruby-ivar">@actions</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
211 24:           <span class="ruby-identifier">action_text</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;action \&quot;#{action}\&quot;, :description =&gt; \&quot;%ACTIONDESCRIPTION%\&quot; do\n&quot;</span>
212 25:           <span class="ruby-identifier">action_text</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">action_help</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
213 26:           <span class="ruby-identifier">action_text</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;end\n&quot;</span>
214 27:           <span class="ruby-identifier">action_text</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@actions</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> (<span class="ruby-identifier">i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
215 28:         <span class="ruby-keyword kw">end</span>
216 29:         <span class="ruby-comment cmt"># Use inherited method to create metadata part of the ddl</span>
217 30:         <span class="ruby-identifier">create_metadata_string</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">action_text</span>
218 31:       <span class="ruby-keyword kw">end</span>
219 </pre>
220           </div>
221         </div>
222       </div>
223
224       <div id="method-M000251" class="method-detail">
225         <a name="M000251"></a>
226
227         <div class="method-heading">
228           <a href="#M000251" class="method-signature">
229           <span class="method-name">create_plugin_content</span><span class="method-args">()</span>
230           </a>
231         </div>
232       
233         <div class="method-description">
234           <p><a class="source-toggle" href="#"
235             onclick="toggleCode('M000251-source');return false;">[Source]</a></p>
236           <div class="method-source-code" id="M000251-source">
237 <pre>
238     <span class="ruby-comment cmt"># File lib/mcollective/generators/agent_generator.rb, line 33</span>
239 33:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_plugin_content</span>
240 34:         <span class="ruby-identifier">content_text</span> = <span class="ruby-value str">&quot;&quot;</span>
241 35: 
242 36:         <span class="ruby-comment cmt"># Add actions to agent file</span>
243 37:         <span class="ruby-ivar">@actions</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
244 38:           <span class="ruby-identifier">content_text</span> <span class="ruby-operator">+=</span>  <span class="ruby-value str">&quot;%6s%s&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-value str">&quot; &quot;</span>, <span class="ruby-node">&quot;action \&quot;#{action}\&quot; do\n&quot;</span>]
245 39:           <span class="ruby-identifier">content_text</span> <span class="ruby-operator">+=</span>  <span class="ruby-value str">&quot;%6s%s&quot;</span> <span class="ruby-operator">%</span> [<span class="ruby-value str">&quot; &quot;</span>, <span class="ruby-value str">&quot;end\n&quot;</span>]
246 40:           <span class="ruby-identifier">content_text</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@actions</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> (<span class="ruby-identifier">i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
247 41:         <span class="ruby-keyword kw">end</span>
248 42:         <span class="ruby-identifier">content_text</span>
249 43:       <span class="ruby-keyword kw">end</span>
250 </pre>
251           </div>
252         </div>
253       </div>
254
255
256     </div>
257
258
259   </div>
260
261
262 <div id="validator-badges">
263   <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
264 </div>
265
266 </body>
267 </html>