Update version according to OSCI-856
[packages/precise/mcollective.git] / doc / classes / MCollective / PluginPackager / StandardDefinition.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::PluginPackager::StandardDefinition</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::PluginPackager::StandardDefinition</td>
54         </tr>
55         <tr class="top-aligned-row">
56             <td><strong>In:</strong></td>
57             <td>
58                 <a href="../../../files/lib/mcollective/pluginpackager/standard_definition_rb.html">
59                 lib/mcollective/pluginpackager/standard_definition.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="#M000322">common</a>&nbsp;&nbsp;
90       <a href="#M000320">identify_packages</a>&nbsp;&nbsp;
91       <a href="#M000319">new</a>&nbsp;&nbsp;
92       <a href="#M000321">plugin</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">dependencies</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">mcname</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">mcversion</td>
124           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
125           <td class="context-item-desc"></td>
126         </tr>
127         <tr class="top-aligned-row context-row">
128           <td class="context-item-name">metadata</td>
129           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
130           <td class="context-item-desc"></td>
131         </tr>
132         <tr class="top-aligned-row context-row">
133           <td class="context-item-name">packagedata</td>
134           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
135           <td class="context-item-desc"></td>
136         </tr>
137         <tr class="top-aligned-row context-row">
138           <td class="context-item-name">path</td>
139           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
140           <td class="context-item-desc"></td>
141         </tr>
142         <tr class="top-aligned-row context-row">
143           <td class="context-item-name">plugintype</td>
144           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
145           <td class="context-item-desc"></td>
146         </tr>
147         <tr class="top-aligned-row context-row">
148           <td class="context-item-name">postinstall</td>
149           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
150           <td class="context-item-desc"></td>
151         </tr>
152         <tr class="top-aligned-row context-row">
153           <td class="context-item-name">preinstall</td>
154           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
155           <td class="context-item-desc"></td>
156         </tr>
157         <tr class="top-aligned-row context-row">
158           <td class="context-item-name">revision</td>
159           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
160           <td class="context-item-desc"></td>
161         </tr>
162         <tr class="top-aligned-row context-row">
163           <td class="context-item-name">target_path</td>
164           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
165           <td class="context-item-desc"></td>
166         </tr>
167         <tr class="top-aligned-row context-row">
168           <td class="context-item-name">vendor</td>
169           <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
170           <td class="context-item-desc"></td>
171         </tr>
172         </table>
173       </div>
174     </div>
175       
176
177
178     <!-- if method_list -->
179     <div id="methods">
180       <h3 class="section-bar">Public Class methods</h3>
181
182       <div id="method-M000319" class="method-detail">
183         <a name="M000319"></a>
184
185         <div class="method-heading">
186           <a href="#M000319" class="method-signature">
187           <span class="method-name">new</span><span class="method-args">(configuration, mcdependency, plugintype)</span>
188           </a>
189         </div>
190       
191         <div class="method-description">
192           <p><a class="source-toggle" href="#"
193             onclick="toggleCode('M000319-source');return false;">[Source]</a></p>
194           <div class="method-source-code" id="M000319-source">
195 <pre>
196     <span class="ruby-comment cmt"># File lib/mcollective/pluginpackager/standard_definition.rb, line 7</span>
197  7:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">configuration</span>, <span class="ruby-identifier">mcdependency</span>, <span class="ruby-identifier">plugintype</span>)
198  8:         <span class="ruby-ivar">@plugintype</span> = <span class="ruby-identifier">plugintype</span>
199  9:         <span class="ruby-ivar">@path</span> = <span class="ruby-identifier">configuration</span>[<span class="ruby-identifier">:target</span>]
200 10:         <span class="ruby-ivar">@packagedata</span> = {}
201 11:         <span class="ruby-ivar">@revision</span> = <span class="ruby-identifier">configuration</span>[<span class="ruby-identifier">:revision</span>] <span class="ruby-operator">||</span> <span class="ruby-value">1</span>
202 12:         <span class="ruby-ivar">@preinstall</span> = <span class="ruby-identifier">configuration</span>[<span class="ruby-identifier">:preinstall</span>]
203 13:         <span class="ruby-ivar">@postinstall</span> = <span class="ruby-identifier">configuration</span>[<span class="ruby-identifier">:postinstall</span>]
204 14:         <span class="ruby-ivar">@vendor</span> = <span class="ruby-identifier">configuration</span>[<span class="ruby-identifier">:vendor</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;Puppet Labs&quot;</span>
205 15:         <span class="ruby-ivar">@dependencies</span> = <span class="ruby-identifier">configuration</span>[<span class="ruby-identifier">:dependency</span>] <span class="ruby-operator">||</span> []
206 16:         <span class="ruby-ivar">@target_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-ivar">@path</span>)
207 17:         <span class="ruby-ivar">@metadata</span>, <span class="ruby-identifier">mcversion</span> = <span class="ruby-constant">PluginPackager</span>.<span class="ruby-identifier">get_metadata</span>(<span class="ruby-ivar">@path</span>, <span class="ruby-ivar">@plugintype</span>)
208 18:         <span class="ruby-ivar">@mcname</span> = <span class="ruby-identifier">mcdependency</span>[<span class="ruby-identifier">:mcname</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">&quot;mcollective&quot;</span>
209 19:         <span class="ruby-ivar">@mcversion</span> = <span class="ruby-identifier">mcdependency</span>[<span class="ruby-identifier">:mcversion</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">mcversion</span>
210 20:         <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">&lt;&lt;</span> {<span class="ruby-identifier">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{mcname}-common&quot;</span>, <span class="ruby-identifier">:version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@mcversion</span>}
211 21:         <span class="ruby-ivar">@metadata</span>[<span class="ruby-identifier">:name</span>] = (<span class="ruby-identifier">configuration</span>[<span class="ruby-identifier">:pluginname</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@metadata</span>[<span class="ruby-identifier">:name</span>]).<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\s+|_/</span>, <span class="ruby-value str">&quot;-&quot;</span>)
212 22:         <span class="ruby-ivar">@metadata</span>[<span class="ruby-identifier">:version</span>] = (<span class="ruby-identifier">configuration</span>[<span class="ruby-identifier">:version</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@metadata</span>[<span class="ruby-identifier">:version</span>])
213 23:         <span class="ruby-identifier">identify_packages</span>
214 24:       <span class="ruby-keyword kw">end</span>
215 </pre>
216           </div>
217         </div>
218       </div>
219
220       <h3 class="section-bar">Public Instance methods</h3>
221
222       <div id="method-M000322" class="method-detail">
223         <a name="M000322"></a>
224
225         <div class="method-heading">
226           <a href="#M000322" class="method-signature">
227           <span class="method-name">common</span><span class="method-args">()</span>
228           </a>
229         </div>
230       
231         <div class="method-description">
232           <p>
233 Obtain list of <a href="StandardDefinition.html#M000322">common</a> files
234 </p>
235           <p><a class="source-toggle" href="#"
236             onclick="toggleCode('M000322-source');return false;">[Source]</a></p>
237           <div class="method-source-code" id="M000322-source">
238 <pre>
239     <span class="ruby-comment cmt"># File lib/mcollective/pluginpackager/standard_definition.rb, line 54</span>
240 54:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">common</span>
241 55:         <span class="ruby-identifier">common</span> = {<span class="ruby-identifier">:files</span> =<span class="ruby-operator">&gt;</span> [],
242 56:                   <span class="ruby-identifier">:dependencies</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">clone</span>,
243 57:                   <span class="ruby-identifier">:description</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;Common libraries for #{@name} connector plugin&quot;</span>}
244 58: 
245 59:         <span class="ruby-identifier">commondir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@path</span>, <span class="ruby-value str">&quot;util&quot;</span>)
246 60:         <span class="ruby-keyword kw">if</span> <span class="ruby-constant">PluginPackager</span>.<span class="ruby-identifier">check_dir_present</span> <span class="ruby-identifier">commondir</span>
247 61:           <span class="ruby-identifier">common</span>[<span class="ruby-identifier">:files</span>] = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">commondir</span>, <span class="ruby-value str">&quot;*&quot;</span>))
248 62:           <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">common</span>
249 63:         <span class="ruby-keyword kw">else</span>
250 64:           <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
251 65:         <span class="ruby-keyword kw">end</span>
252 66:       <span class="ruby-keyword kw">end</span>
253 </pre>
254           </div>
255         </div>
256       </div>
257
258       <div id="method-M000320" class="method-detail">
259         <a name="M000320"></a>
260
261         <div class="method-heading">
262           <a href="#M000320" class="method-signature">
263           <span class="method-name">identify_packages</span><span class="method-args">()</span>
264           </a>
265         </div>
266       
267         <div class="method-description">
268           <p>
269 Identify present packages and populate the packagedata hash
270 </p>
271           <p><a class="source-toggle" href="#"
272             onclick="toggleCode('M000320-source');return false;">[Source]</a></p>
273           <div class="method-source-code" id="M000320-source">
274 <pre>
275     <span class="ruby-comment cmt"># File lib/mcollective/pluginpackager/standard_definition.rb, line 27</span>
276 27:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">identify_packages</span>
277 28:         <span class="ruby-identifier">common_package</span> = <span class="ruby-identifier">common</span>
278 29:         <span class="ruby-ivar">@packagedata</span>[<span class="ruby-identifier">:common</span>] = <span class="ruby-identifier">common_package</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">common_package</span>
279 30:         <span class="ruby-identifier">plugin_package</span> = <span class="ruby-identifier">plugin</span>
280 31:         <span class="ruby-ivar">@packagedata</span>[<span class="ruby-ivar">@plugintype</span>.<span class="ruby-identifier">to_sym</span>] = <span class="ruby-identifier">plugin_package</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">plugin_package</span>
281 32:       <span class="ruby-keyword kw">end</span>
282 </pre>
283           </div>
284         </div>
285       </div>
286
287       <div id="method-M000321" class="method-detail">
288         <a name="M000321"></a>
289
290         <div class="method-heading">
291           <a href="#M000321" class="method-signature">
292           <span class="method-name">plugin</span><span class="method-args">()</span>
293           </a>
294         </div>
295       
296         <div class="method-description">
297           <p>
298 Obtain standard <a href="StandardDefinition.html#M000321">plugin</a> files
299 and dependencies
300 </p>
301           <p><a class="source-toggle" href="#"
302             onclick="toggleCode('M000321-source');return false;">[Source]</a></p>
303           <div class="method-source-code" id="M000321-source">
304 <pre>
305     <span class="ruby-comment cmt"># File lib/mcollective/pluginpackager/standard_definition.rb, line 35</span>
306 35:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">plugin</span>
307 36:         <span class="ruby-identifier">plugindata</span> = {<span class="ruby-identifier">:files</span> =<span class="ruby-operator">&gt;</span> [],
308 37:                       <span class="ruby-identifier">:dependencies</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">clone</span>,
309 38:                       <span class="ruby-identifier">:description</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{@name} #{@plugintype} plugin for the Marionette Collective.&quot;</span>}
310 39: 
311 40:         <span class="ruby-identifier">plugindir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@path</span>, <span class="ruby-ivar">@plugintype</span>.<span class="ruby-identifier">to_s</span>)
312 41:         <span class="ruby-keyword kw">if</span> <span class="ruby-constant">PluginPackager</span>.<span class="ruby-identifier">check_dir_present</span> <span class="ruby-identifier">plugindir</span>
313 42:           <span class="ruby-identifier">plugindata</span>[<span class="ruby-identifier">:files</span>] = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">plugindir</span>, <span class="ruby-value str">&quot;*&quot;</span>))
314 43:         <span class="ruby-keyword kw">else</span>
315 44:           <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
316 45:         <span class="ruby-keyword kw">end</span>
317 46: 
318 47:         <span class="ruby-identifier">plugindata</span>[<span class="ruby-identifier">:plugindependency</span>] = {<span class="ruby-identifier">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{@mcname}-#{@metadata[:name]}-common&quot;</span>,
319 48:                                       <span class="ruby-identifier">:version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@metadata</span>[<span class="ruby-identifier">:version</span>],
320 49:                                       <span class="ruby-identifier">:revision</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@revision</span>} <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@packagedata</span>[<span class="ruby-identifier">:common</span>]
321 50:         <span class="ruby-identifier">plugindata</span>
322 51:       <span class="ruby-keyword kw">end</span>
323 </pre>
324           </div>
325         </div>
326       </div>
327
328
329     </div>
330
331
332   </div>
333
334
335 <div id="validator-badges">
336   <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
337 </div>
338
339 </body>
340 </html>