Update version according to OSCI-856
[packages/precise/mcollective.git] / doc / classes / MCollective / Generators / Base.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::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">
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::Base</td>
54         </tr>
55         <tr class="top-aligned-row">
56             <td><strong>In:</strong></td>
57             <td>
58                 <a href="../../../files/lib/mcollective/generators/base_rb.html">
59                 lib/mcollective/generators/base.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                 Object
69             </td>
70         </tr>
71         </table>
72     </div>
73   <!-- banner header -->
74
75   <div id="bodyContent">
76
77
78
79   <div id="contextContent">
80
81
82
83    </div>
84
85     <div id="method-list">
86       <h3 class="section-bar">Methods</h3>
87
88       <div class="name-list">
89       <a href="#M000257">create_metadata_string</a>&nbsp;&nbsp;
90       <a href="#M000258">create_plugin_string</a>&nbsp;&nbsp;
91       <a href="#M000256">new</a>&nbsp;&nbsp;
92       <a href="#M000259">write_plugins</a>&nbsp;&nbsp;
93       </div>
94     </div>
95
96   </div>
97
98
99     <!-- if includes -->
100
101     <div id="section">
102
103
104
105
106
107     <div id="attribute-list">
108       <h3 class="section-bar">Attributes</h3>
109
110       <div class="name-list">
111         <table>
112         <tr class="top-aligned-row context-row">
113           <td class="context-item-name">meta</td>
114           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
115           <td class="context-item-desc"></td>
116         </tr>
117         <tr class="top-aligned-row context-row">
118           <td class="context-item-name">mod_name</td>
119           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
120           <td class="context-item-desc"></td>
121         </tr>
122         <tr class="top-aligned-row context-row">
123           <td class="context-item-name">plugin_name</td>
124           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
125           <td class="context-item-desc"></td>
126         </tr>
127         </table>
128       </div>
129     </div>
130       
131
132
133     <!-- if method_list -->
134     <div id="methods">
135       <h3 class="section-bar">Public Class methods</h3>
136
137       <div id="method-M000256" class="method-detail">
138         <a name="M000256"></a>
139
140         <div class="method-heading">
141           <a href="#M000256" class="method-signature">
142           <span class="method-name">new</span><span class="method-args">(name, description, author, license, version, url, timeout)</span>
143           </a>
144         </div>
145       
146         <div class="method-description">
147           <p><a class="source-toggle" href="#"
148             onclick="toggleCode('M000256-source');return false;">[Source]</a></p>
149           <div class="method-source-code" id="M000256-source">
150 <pre>
151     <span class="ruby-comment cmt"># File lib/mcollective/generators/base.rb, line 5</span>
152  5:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</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  6:         <span class="ruby-ivar">@meta</span> = {<span class="ruby-identifier">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>,
154  7:                  <span class="ruby-identifier">:description</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">description</span>,
155  8:                  <span class="ruby-identifier">:author</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">author</span>,
156  9:                  <span class="ruby-identifier">:license</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">license</span>,
157 10:                  <span class="ruby-identifier">:version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">version</span>,
158 11:                  <span class="ruby-identifier">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">url</span>,
159 12:                  <span class="ruby-identifier">:timeout</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">timeout</span>}
160 13:       <span class="ruby-keyword kw">end</span>
161 </pre>
162           </div>
163         </div>
164       </div>
165
166       <h3 class="section-bar">Public Instance methods</h3>
167
168       <div id="method-M000257" class="method-detail">
169         <a name="M000257"></a>
170
171         <div class="method-heading">
172           <a href="#M000257" class="method-signature">
173           <span class="method-name">create_metadata_string</span><span class="method-args">()</span>
174           </a>
175         </div>
176       
177         <div class="method-description">
178           <p><a class="source-toggle" href="#"
179             onclick="toggleCode('M000257-source');return false;">[Source]</a></p>
180           <div class="method-source-code" id="M000257-source">
181 <pre>
182     <span class="ruby-comment cmt"># File lib/mcollective/generators/base.rb, line 15</span>
183 15:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_metadata_string</span>
184 16:         <span class="ruby-identifier">ddl_template</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;ddl.erb&quot;</span>))
185 17:         <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ddl_template</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">&quot;-&quot;</span>).<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)
186 18:       <span class="ruby-keyword kw">end</span>
187 </pre>
188           </div>
189         </div>
190       </div>
191
192       <div id="method-M000258" class="method-detail">
193         <a name="M000258"></a>
194
195         <div class="method-heading">
196           <a href="#M000258" class="method-signature">
197           <span class="method-name">create_plugin_string</span><span class="method-args">()</span>
198           </a>
199         </div>
200       
201         <div class="method-description">
202           <p><a class="source-toggle" href="#"
203             onclick="toggleCode('M000258-source');return false;">[Source]</a></p>
204           <div class="method-source-code" id="M000258-source">
205 <pre>
206     <span class="ruby-comment cmt"># File lib/mcollective/generators/base.rb, line 20</span>
207 20:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_plugin_string</span>
208 21:         <span class="ruby-identifier">plugin_template</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;plugin.erb&quot;</span>))
209 22:         <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">plugin_template</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">&quot;-&quot;</span>).<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)
210 23:       <span class="ruby-keyword kw">end</span>
211 </pre>
212           </div>
213         </div>
214       </div>
215
216       <div id="method-M000259" class="method-detail">
217         <a name="M000259"></a>
218
219         <div class="method-heading">
220           <a href="#M000259" class="method-signature">
221           <span class="method-name">write_plugins</span><span class="method-args">()</span>
222           </a>
223         </div>
224       
225         <div class="method-description">
226           <p><a class="source-toggle" href="#"
227             onclick="toggleCode('M000259-source');return false;">[Source]</a></p>
228           <div class="method-source-code" id="M000259-source">
229 <pre>
230     <span class="ruby-comment cmt"># File lib/mcollective/generators/base.rb, line 25</span>
231 25:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_plugins</span>
232 26:         <span class="ruby-keyword kw">begin</span>
233 27:           <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span> <span class="ruby-ivar">@plugin_name</span>
234 28:           <span class="ruby-identifier">dirname</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@plugin_name</span>, <span class="ruby-ivar">@mod_name</span>.<span class="ruby-identifier">downcase</span>)
235 29:           <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span> <span class="ruby-identifier">dirname</span>
236 30:           <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Created plugin directory : #{@plugin_name}&quot;</span>
237 31: 
238 32:           <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">dirname</span>, <span class="ruby-node">&quot;#{@plugin_name}.ddl&quot;</span>), <span class="ruby-value str">&quot;w&quot;</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@ddl</span>}
239 33:           <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Created DDL file : #{File.join(dirname, &quot;#{@plugin_name}.ddl&quot;)}&quot;</span>
240 34: 
241 35:           <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">dirname</span>, <span class="ruby-node">&quot;#{@plugin_name}.rb&quot;</span>), <span class="ruby-value str">&quot;w&quot;</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-ivar">@plugin</span>}
242 36:           <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Created #{@mod_name} file : #{File.join(dirname, &quot;#{@plugin_name}.rb&quot;)}&quot;</span>
243 37:         <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EEXIST</span>
244 38:           <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;cannot generate '#{@plugin_name}' : plugin directory already exists.&quot;</span>
245 39:         <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
246 40:           <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_rf</span>(<span class="ruby-ivar">@plugin_name</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-ivar">@plugin_name</span>)
247 41:           <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;cannot generate plugin - #{e}&quot;</span>
248 42:         <span class="ruby-keyword kw">end</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>