Update version according to OSCI-856
[packages/precise/mcollective.git] / doc / classes / MCollective / DDL / DataDDL.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::DDL::DataDDL</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::DDL::DataDDL</td>
54         </tr>
55         <tr class="top-aligned-row">
56             <td><strong>In:</strong></td>
57             <td>
58                 <a href="../../../files/lib/mcollective/ddl/dataddl_rb.html">
59                 lib/mcollective/ddl/dataddl.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     <div id="description">
84       <p>
85 A <a href="../DDL.html">DDL</a> file for the data query plugins.
86 </p>
87 <p>
88 Query plugins can today take only one <a
89 href="DataDDL.html#M000161">input</a> by convention in the <a
90 href="../DDL.html">DDL</a> that is called :query, otherwise the <a
91 href="DataDDL.html#M000161">input</a> is identical to the standard <a
92 href="DataDDL.html#M000161">input</a>.
93 </p>
94 <p>
95 metadata :name =&gt; &quot;<a href="../Agent.html">Agent</a>&quot;,
96 </p>
97 <pre>
98             :description =&gt; &quot;Meta data about installed MColletive Agents&quot;,
99             :author      =&gt; &quot;R.I.Pienaar &lt;rip@devco.net&gt;&quot;,
100             :license     =&gt; &quot;ASL 2.0&quot;,
101             :version     =&gt; &quot;1.0&quot;,
102             :url         =&gt; &quot;http://marionette-collective.org/&quot;,
103             :timeout     =&gt; 1
104 </pre>
105 <p>
106 <a href="DataDDL.html#M000160">dataquery</a> :description =&gt; &quot;<a
107 href="../Agent.html">Agent</a> Meta <a href="../Data.html">Data</a>&quot;
108 do
109 </p>
110 <pre>
111     input :query,
112           :prompt =&gt; &quot;Agent Name&quot;,
113           :description =&gt; &quot;Valid agent name&quot;,
114           :type =&gt; :string,
115           :validation =&gt; /^[\w\_]+$/,
116           :maxlength =&gt; 20
117
118     [:license, :timeout, :description, :url, :version, :author].each do |item|
119       output item,
120              :description =&gt; &quot;Agent #{item}&quot;,
121              :display_as =&gt; item.to_s.capitalize
122     end
123 </pre>
124 <p>
125 end
126 </p>
127
128     </div>
129
130
131    </div>
132
133     <div id="method-list">
134       <h3 class="section-bar">Methods</h3>
135
136       <div class="name-list">
137       <a href="#M000160">dataquery</a>&nbsp;&nbsp;
138       <a href="#M000162">dataquery_interface</a>&nbsp;&nbsp;
139       <a href="#M000161">input</a>&nbsp;&nbsp;
140       </div>
141     </div>
142
143   </div>
144
145
146     <!-- if includes -->
147
148     <div id="section">
149
150
151
152
153
154       
155
156
157     <!-- if method_list -->
158     <div id="methods">
159       <h3 class="section-bar">Public Instance methods</h3>
160
161       <div id="method-M000160" class="method-detail">
162         <a name="M000160"></a>
163
164         <div class="method-heading">
165           <a href="#M000160" class="method-signature">
166           <span class="method-name">dataquery</span><span class="method-args">(input, &amp;block)</span>
167           </a>
168         </div>
169       
170         <div class="method-description">
171           <p><a class="source-toggle" href="#"
172             onclick="toggleCode('M000160-source');return false;">[Source]</a></p>
173           <div class="method-source-code" id="M000160-source">
174 <pre>
175     <span class="ruby-comment cmt"># File lib/mcollective/ddl/dataddl.rb, line 31</span>
176 31:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dataquery</span>(<span class="ruby-identifier">input</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
177 32:         <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Data queries need a :description&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">input</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:description</span>)
178 33:         <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Data queries can only have one definition&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@entities</span>[<span class="ruby-identifier">:data</span>]
179 34: 
180 35:         <span class="ruby-ivar">@entities</span>[<span class="ruby-identifier">:data</span>]  = {<span class="ruby-identifier">:description</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">input</span>[<span class="ruby-identifier">:description</span>],
181 36:                              <span class="ruby-identifier">:input</span> =<span class="ruby-operator">&gt;</span> {},
182 37:                              <span class="ruby-identifier">:output</span> =<span class="ruby-operator">&gt;</span> {}}
183 38: 
184 39:         <span class="ruby-ivar">@current_entity</span> = <span class="ruby-identifier">:data</span>
185 40:         <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
186 41:         <span class="ruby-ivar">@current_entity</span> = <span class="ruby-keyword kw">nil</span>
187 42:       <span class="ruby-keyword kw">end</span>
188 </pre>
189           </div>
190         </div>
191       </div>
192
193       <div id="method-M000162" class="method-detail">
194         <a name="M000162"></a>
195
196         <div class="method-heading">
197           <a href="#M000162" class="method-signature">
198           <span class="method-name">dataquery_interface</span><span class="method-args">()</span>
199           </a>
200         </div>
201       
202         <div class="method-description">
203           <p>
204 Returns the interface for the data query
205 </p>
206           <p><a class="source-toggle" href="#"
207             onclick="toggleCode('M000162-source');return false;">[Source]</a></p>
208           <div class="method-source-code" id="M000162-source">
209 <pre>
210     <span class="ruby-comment cmt"># File lib/mcollective/ddl/dataddl.rb, line 51</span>
211 51:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dataquery_interface</span>
212 52:         <span class="ruby-ivar">@entities</span>[<span class="ruby-identifier">:data</span>] <span class="ruby-operator">||</span> {}
213 53:       <span class="ruby-keyword kw">end</span>
214 </pre>
215           </div>
216         </div>
217       </div>
218
219       <div id="method-M000161" class="method-detail">
220         <a name="M000161"></a>
221
222         <div class="method-heading">
223           <a href="#M000161" class="method-signature">
224           <span class="method-name">input</span><span class="method-args">(argument, properties)</span>
225           </a>
226         </div>
227       
228         <div class="method-description">
229           <p><a class="source-toggle" href="#"
230             onclick="toggleCode('M000161-source');return false;">[Source]</a></p>
231           <div class="method-source-code" id="M000161-source">
232 <pre>
233     <span class="ruby-comment cmt"># File lib/mcollective/ddl/dataddl.rb, line 44</span>
234 44:       <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">input</span>(<span class="ruby-identifier">argument</span>, <span class="ruby-identifier">properties</span>)
235 45:         <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;The only valid input name for a data query is 'query'&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">argument</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">:query</span>
236 46: 
237 47:         <span class="ruby-keyword kw">super</span>
238 48:       <span class="ruby-keyword kw">end</span>
239 </pre>
240           </div>
241         </div>
242       </div>
243
244
245     </div>
246
247
248   </div>
249
250
251 <div id="validator-badges">
252   <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
253 </div>
254
255 </body>
256 </html>