Update version according to OSCI-856
[packages/precise/mcollective.git] / doc / classes / MCollective / Config.html
diff --git a/doc/classes/MCollective/Config.html b/doc/classes/MCollective/Config.html
new file mode 100644 (file)
index 0000000..72df346
--- /dev/null
@@ -0,0 +1,612 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Class: MCollective::Config</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+  <meta http-equiv="Content-Script-Type" content="text/javascript" />
+  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
+  <script type="text/javascript">
+  // <![CDATA[
+
+  function popupCode( url ) {
+    window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
+  }
+
+  function toggleCode( id ) {
+    if ( document.getElementById )
+      elem = document.getElementById( id );
+    else if ( document.all )
+      elem = eval( "document.all." + id );
+    else
+      return false;
+
+    elemStyle = elem.style;
+    
+    if ( elemStyle.display != "block" ) {
+      elemStyle.display = "block"
+    } else {
+      elemStyle.display = "none"
+    }
+
+    return true;
+  }
+  
+  // Make codeblocks hidden by default
+  document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
+  
+  // ]]>
+  </script>
+
+</head>
+<body>
+
+
+
+    <div id="classHeader">
+        <table class="header-table">
+        <tr class="top-aligned-row">
+          <td><strong>Class</strong></td>
+          <td class="class-name-in-header">MCollective::Config</td>
+        </tr>
+        <tr class="top-aligned-row">
+            <td><strong>In:</strong></td>
+            <td>
+                <a href="../../files/lib/mcollective/config_rb.html">
+                lib/mcollective/config.rb
+                </a>
+        <br />
+            </td>
+        </tr>
+
+        <tr class="top-aligned-row">
+            <td><strong>Parent:</strong></td>
+            <td>
+                Object
+            </td>
+        </tr>
+        </table>
+    </div>
+  <!-- banner header -->
+
+  <div id="bodyContent">
+
+
+
+  <div id="contextContent">
+
+    <div id="description">
+      <p>
+A pretty sucky config class, ripe for refactoring/improving
+</p>
+
+    </div>
+
+
+   </div>
+
+    <div id="method-list">
+      <h3 class="section-bar">Methods</h3>
+
+      <div class="name-list">
+      <a href="#M000493">loadconfig</a>&nbsp;&nbsp;
+      <a href="#M000492">new</a>&nbsp;&nbsp;
+      <a href="#M000495">read_plugin_config_dir</a>&nbsp;&nbsp;
+      <a href="#M000494">set_config_defaults</a>&nbsp;&nbsp;
+      </div>
+    </div>
+
+  </div>
+
+
+    <!-- if includes -->
+    <div id="includes">
+      <h3 class="section-bar">Included Modules</h3>
+
+      <div id="includes-list">
+        <span class="include-name">Singleton</span>
+      </div>
+    </div>
+
+    <div id="section">
+
+
+
+
+
+    <div id="attribute-list">
+      <h3 class="section-bar">Attributes</h3>
+
+      <div class="name-list">
+        <table>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">classesfile</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">collectives</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">color</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">configdir</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">configfile</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">configured</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">connector</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">daemonize</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">daemonize</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">default_discovery_method</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">default_discovery_options</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">direct_addressing</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">direct_addressing_threshold</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">fact_cache_time</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">factsource</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">identity</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">keeplogs</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">libdir</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">logfacility</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">logfile</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">logger_type</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">loglevel</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">main_collective</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">max_log_size</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">mode</td>
+          <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">pluginconf</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">publish_timeout</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">registerinterval</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">registration</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">registration_collective</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">rpcaudit</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">rpcauditprovider</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">rpcauthorization</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">rpcauthprovider</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">rpclimitmethod</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">securityprovider</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">ssl_cipher</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">threaded</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        <tr class="top-aligned-row context-row">
+          <td class="context-item-name">ttl</td>
+          <td class="context-item-value">&nbsp;[R]&nbsp;</td>
+          <td class="context-item-desc"></td>
+        </tr>
+        </table>
+      </div>
+    </div>
+      
+
+
+    <!-- if method_list -->
+    <div id="methods">
+      <h3 class="section-bar">Public Class methods</h3>
+
+      <div id="method-M000492" class="method-detail">
+        <a name="M000492"></a>
+
+        <div class="method-heading">
+          <a href="#M000492" class="method-signature">
+          <span class="method-name">new</span><span class="method-args">()</span>
+          </a>
+        </div>
+      
+        <div class="method-description">
+          <p><a class="source-toggle" href="#"
+            onclick="toggleCode('M000492-source');return false;">[Source]</a></p>
+          <div class="method-source-code" id="M000492-source">
+<pre>
+    <span class="ruby-comment cmt"># File lib/mcollective/config.rb, line 20</span>
+20:     <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
+21:       <span class="ruby-ivar">@configured</span> = <span class="ruby-keyword kw">false</span>
+22:     <span class="ruby-keyword kw">end</span>
+</pre>
+          </div>
+        </div>
+      </div>
+
+      <h3 class="section-bar">Public Instance methods</h3>
+
+      <div id="method-M000493" class="method-detail">
+        <a name="M000493"></a>
+
+        <div class="method-heading">
+          <a href="#M000493" class="method-signature">
+          <span class="method-name">loadconfig</span><span class="method-args">(configfile)</span>
+          </a>
+        </div>
+      
+        <div class="method-description">
+          <p><a class="source-toggle" href="#"
+            onclick="toggleCode('M000493-source');return false;">[Source]</a></p>
+          <div class="method-source-code" id="M000493-source">
+<pre>
+     <span class="ruby-comment cmt"># File lib/mcollective/config.rb, line 24</span>
+ 24:     <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">loadconfig</span>(<span class="ruby-identifier">configfile</span>)
+ 25:       <span class="ruby-identifier">set_config_defaults</span>(<span class="ruby-identifier">configfile</span>)
+ 26: 
+ 27:       <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">configfile</span>)
+ 28:         <span class="ruby-constant">File</span>.<span class="ruby-identifier">readlines</span>(<span class="ruby-identifier">configfile</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
+ 29: 
+ 30:           <span class="ruby-comment cmt"># strip blank spaces, tabs etc off the end of all lines</span>
+ 31:           <span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\s*$/</span>, <span class="ruby-value str">&quot;&quot;</span>)
+ 32: 
+ 33:           <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^#|^$/</span>
+ 34:             <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/(.+?)\s*=\s*(.+)/</span>)
+ 35:               <span class="ruby-identifier">key</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">strip</span>
+ 36:               <span class="ruby-identifier">val</span> = <span class="ruby-identifier">$2</span>
+ 37: 
+ 38:               <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">key</span>
+ 39:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;registration&quot;</span>
+ 40:                   <span class="ruby-ivar">@registration</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">capitalize</span>
+ 41:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;registration_collective&quot;</span>
+ 42:                   <span class="ruby-ivar">@registration_collective</span> = <span class="ruby-identifier">val</span>
+ 43:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;registerinterval&quot;</span>
+ 44:                   <span class="ruby-ivar">@registerinterval</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_i</span>
+ 45:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;collectives&quot;</span>
+ 46:                   <span class="ruby-ivar">@collectives</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;,&quot;</span>).<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">strip</span>}
+ 47:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;main_collective&quot;</span>
+ 48:                   <span class="ruby-ivar">@main_collective</span> = <span class="ruby-identifier">val</span>
+ 49:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;logfile&quot;</span>
+ 50:                   <span class="ruby-ivar">@logfile</span> = <span class="ruby-identifier">val</span>
+ 51:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;keeplogs&quot;</span>
+ 52:                   <span class="ruby-ivar">@keeplogs</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_i</span>
+ 53:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;max_log_size&quot;</span>
+ 54:                   <span class="ruby-ivar">@max_log_size</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_i</span>
+ 55:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;loglevel&quot;</span>
+ 56:                   <span class="ruby-ivar">@loglevel</span> = <span class="ruby-identifier">val</span>
+ 57:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;logfacility&quot;</span>
+ 58:                   <span class="ruby-ivar">@logfacility</span> = <span class="ruby-identifier">val</span>
+ 59:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;libdir&quot;</span>
+ 60:                   <span class="ruby-identifier">paths</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">split</span>(<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">PATH_SEPARATOR</span>)
+ 61:                   <span class="ruby-identifier">paths</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
+ 62:                     <span class="ruby-identifier">raise</span>(<span class="ruby-value str">&quot;libdir paths should be absolute paths but '%s' is relative&quot;</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">path</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">absolute_path?</span>(<span class="ruby-identifier">path</span>)
+ 63: 
+ 64:                     <span class="ruby-ivar">@libdir</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">path</span>
+ 65:                     <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">$LOAD_PATH</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">path</span>)
+ 66:                       <span class="ruby-identifier">$LOAD_PATH</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">path</span>
+ 67:                     <span class="ruby-keyword kw">end</span>
+ 68:                   <span class="ruby-keyword kw">end</span>
+ 69:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;identity&quot;</span>
+ 70:                   <span class="ruby-ivar">@identity</span> = <span class="ruby-identifier">val</span>
+ 71:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;direct_addressing&quot;</span>
+ 72:                   <span class="ruby-ivar">@direct_addressing</span> = <span class="ruby-constant">Util</span>.<span class="ruby-identifier">str_to_bool</span>(<span class="ruby-identifier">val</span>)
+ 73:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;direct_addressing_threshold&quot;</span>
+ 74:                   <span class="ruby-ivar">@direct_addressing_threshold</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_i</span>
+ 75:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;color&quot;</span>
+ 76:                   <span class="ruby-ivar">@color</span> = <span class="ruby-constant">Util</span>.<span class="ruby-identifier">str_to_bool</span>(<span class="ruby-identifier">val</span>)
+ 77:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;daemonize&quot;</span>
+ 78:                   <span class="ruby-ivar">@daemonize</span> = <span class="ruby-constant">Util</span>.<span class="ruby-identifier">str_to_bool</span>(<span class="ruby-identifier">val</span>)
+ 79:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;securityprovider&quot;</span>
+ 80:                   <span class="ruby-ivar">@securityprovider</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">capitalize</span>
+ 81:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;factsource&quot;</span>
+ 82:                   <span class="ruby-ivar">@factsource</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">capitalize</span>
+ 83:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;connector&quot;</span>
+ 84:                   <span class="ruby-ivar">@connector</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">capitalize</span>
+ 85:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;classesfile&quot;</span>
+ 86:                   <span class="ruby-ivar">@classesfile</span> = <span class="ruby-identifier">val</span>
+ 87:                 <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^plugin.(.+)$/</span>
+ 88:                   <span class="ruby-ivar">@pluginconf</span>[<span class="ruby-identifier">$1</span>] = <span class="ruby-identifier">val</span>
+ 89:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;publish_timeout&quot;</span>
+ 90:                   <span class="ruby-ivar">@publish_timeout</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_i</span>
+ 91:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;rpcaudit&quot;</span>
+ 92:                   <span class="ruby-ivar">@rpcaudit</span> = <span class="ruby-constant">Util</span>.<span class="ruby-identifier">str_to_bool</span>(<span class="ruby-identifier">val</span>)
+ 93:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;rpcauditprovider&quot;</span>
+ 94:                   <span class="ruby-ivar">@rpcauditprovider</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">capitalize</span>
+ 95:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;rpcauthorization&quot;</span>
+ 96:                   <span class="ruby-ivar">@rpcauthorization</span> = <span class="ruby-constant">Util</span>.<span class="ruby-identifier">str_to_bool</span>(<span class="ruby-identifier">val</span>)
+ 97:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;rpcauthprovider&quot;</span>
+ 98:                   <span class="ruby-ivar">@rpcauthprovider</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">capitalize</span>
+ 99:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;rpclimitmethod&quot;</span>
+100:                   <span class="ruby-ivar">@rpclimitmethod</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_sym</span>
+101:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;logger_type&quot;</span>
+102:                   <span class="ruby-ivar">@logger_type</span> = <span class="ruby-identifier">val</span>
+103:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;fact_cache_time&quot;</span>
+104:                   <span class="ruby-ivar">@fact_cache_time</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_i</span>
+105:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;ssl_cipher&quot;</span>
+106:                   <span class="ruby-ivar">@ssl_cipher</span> = <span class="ruby-identifier">val</span>
+107:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;threaded&quot;</span>
+108:                   <span class="ruby-ivar">@threaded</span> = <span class="ruby-constant">Util</span>.<span class="ruby-identifier">str_to_bool</span>(<span class="ruby-identifier">val</span>)
+109:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;ttl&quot;</span>
+110:                   <span class="ruby-ivar">@ttl</span> = <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_i</span>
+111:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;default_discovery_options&quot;</span>
+112:                   <span class="ruby-ivar">@default_discovery_options</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">val</span>
+113:                 <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;default_discovery_method&quot;</span>
+114:                   <span class="ruby-ivar">@default_discovery_method</span> = <span class="ruby-identifier">val</span>
+115:                 <span class="ruby-keyword kw">else</span>
+116:                   <span class="ruby-identifier">raise</span>(<span class="ruby-node">&quot;Unknown config parameter '#{key}'&quot;</span>)
+117:               <span class="ruby-keyword kw">end</span>
+118:             <span class="ruby-keyword kw">end</span>
+119:           <span class="ruby-keyword kw">end</span>
+120:         <span class="ruby-keyword kw">end</span>
+121: 
+122:         <span class="ruby-identifier">raise</span>(<span class="ruby-value str">'The %s config file does not specify a libdir setting, cannot continue'</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">configfile</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@libdir</span>.<span class="ruby-identifier">empty?</span>
+123: 
+124:         <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">load_path</span> = <span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</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;locales&quot;</span>, <span class="ruby-value str">&quot;*.yml&quot;</span>))]
+125:         <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">locale</span> = <span class="ruby-identifier">:en</span>
+126: 
+127:         <span class="ruby-identifier">read_plugin_config_dir</span>(<span class="ruby-node">&quot;#{@configdir}/plugin.d&quot;</span>)
+128: 
+129:         <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Identities can only match /\w\.\-/'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@identity</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/^[\w\.\-]+$/</span>)
+130: 
+131:         <span class="ruby-ivar">@configured</span> = <span class="ruby-keyword kw">true</span>
+132: 
+133:         <span class="ruby-ivar">@libdir</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span> <span class="ruby-constant">Log</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Cannot find libdir: #{dir}&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">dir</span>)}
+134: 
+135:         <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@logger_type</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;syslog&quot;</span>
+136:           <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;The sylog logger is not usable on the Windows platform&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Util</span>.<span class="ruby-identifier">windows?</span>
+137:         <span class="ruby-keyword kw">end</span>
+138: 
+139:         <span class="ruby-constant">PluginManager</span>.<span class="ruby-identifier">loadclass</span>(<span class="ruby-node">&quot;Mcollective::Facts::#{@factsource}_facts&quot;</span>)
+140:         <span class="ruby-constant">PluginManager</span>.<span class="ruby-identifier">loadclass</span>(<span class="ruby-node">&quot;Mcollective::Connector::#{@connector}&quot;</span>)
+141:         <span class="ruby-constant">PluginManager</span>.<span class="ruby-identifier">loadclass</span>(<span class="ruby-node">&quot;Mcollective::Security::#{@securityprovider}&quot;</span>)
+142:         <span class="ruby-constant">PluginManager</span>.<span class="ruby-identifier">loadclass</span>(<span class="ruby-node">&quot;Mcollective::Registration::#{@registration}&quot;</span>)
+143:         <span class="ruby-constant">PluginManager</span>.<span class="ruby-identifier">loadclass</span>(<span class="ruby-node">&quot;Mcollective::Audit::#{@rpcauditprovider}&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rpcaudit</span>
+144:         <span class="ruby-constant">PluginManager</span> <span class="ruby-operator">&lt;&lt;</span> {<span class="ruby-identifier">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;global_stats&quot;</span>, <span class="ruby-identifier">:class</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">RunnerStats</span>.<span class="ruby-identifier">new</span>}
+145: 
+146:         <span class="ruby-constant">Log</span>.<span class="ruby-identifier">logmsg</span>(<span class="ruby-identifier">:PLMC1</span>, <span class="ruby-value str">&quot;The Marionette Collective version %{version} started by %{name} using config file %{config}&quot;</span>, <span class="ruby-identifier">:info</span>, <span class="ruby-identifier">:version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">MCollective</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>, <span class="ruby-identifier">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">$0</span>, <span class="ruby-identifier">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">configfile</span>)
+147:       <span class="ruby-keyword kw">else</span>
+148:         <span class="ruby-identifier">raise</span>(<span class="ruby-node">&quot;Cannot find config file '#{configfile}'&quot;</span>)
+149:       <span class="ruby-keyword kw">end</span>
+150:     <span class="ruby-keyword kw">end</span>
+</pre>
+          </div>
+        </div>
+      </div>
+
+      <div id="method-M000495" class="method-detail">
+        <a name="M000495"></a>
+
+        <div class="method-heading">
+          <a href="#M000495" class="method-signature">
+          <span class="method-name">read_plugin_config_dir</span><span class="method-args">(dir)</span>
+          </a>
+        </div>
+      
+        <div class="method-description">
+          <p><a class="source-toggle" href="#"
+            onclick="toggleCode('M000495-source');return false;">[Source]</a></p>
+          <div class="method-source-code" id="M000495-source">
+<pre>
+     <span class="ruby-comment cmt"># File lib/mcollective/config.rb, line 192</span>
+192:     <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_plugin_config_dir</span>(<span class="ruby-identifier">dir</span>)
+193:       <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">dir</span>)
+194: 
+195:       <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dir</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pluginconfigfile</span><span class="ruby-operator">|</span>
+196:         <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">pluginconfigfile</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^([\w]+).cfg$/</span>
+197: 
+198:         <span class="ruby-identifier">plugin</span> = <span class="ruby-identifier">$1</span>
+199:         <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-node">&quot;#{dir}/#{pluginconfigfile}&quot;</span>, <span class="ruby-value str">&quot;r&quot;</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
+200:           <span class="ruby-comment cmt"># strip blank lines</span>
+201:           <span class="ruby-identifier">line</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\s*$/</span>, <span class="ruby-value str">&quot;&quot;</span>)
+202:           <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^#|^$/</span>
+203:           <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/(.+?)\s*=\s*(.+)/</span>)
+204:             <span class="ruby-identifier">key</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">strip</span>
+205:             <span class="ruby-identifier">val</span> = <span class="ruby-identifier">$2</span>
+206:             <span class="ruby-ivar">@pluginconf</span>[<span class="ruby-node">&quot;#{plugin}.#{key}&quot;</span>] = <span class="ruby-identifier">val</span>
+207:           <span class="ruby-keyword kw">end</span>
+208:         <span class="ruby-keyword kw">end</span>
+209:       <span class="ruby-keyword kw">end</span>
+210:     <span class="ruby-keyword kw">end</span>
+</pre>
+          </div>
+        </div>
+      </div>
+
+      <div id="method-M000494" class="method-detail">
+        <a name="M000494"></a>
+
+        <div class="method-heading">
+          <a href="#M000494" class="method-signature">
+          <span class="method-name">set_config_defaults</span><span class="method-args">(configfile)</span>
+          </a>
+        </div>
+      
+        <div class="method-description">
+          <p><a class="source-toggle" href="#"
+            onclick="toggleCode('M000494-source');return false;">[Source]</a></p>
+          <div class="method-source-code" id="M000494-source">
+<pre>
+     <span class="ruby-comment cmt"># File lib/mcollective/config.rb, line 152</span>
+152:     <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_config_defaults</span>(<span class="ruby-identifier">configfile</span>)
+153:       <span class="ruby-ivar">@stomp</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
+154:       <span class="ruby-ivar">@subscribe</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
+155:       <span class="ruby-ivar">@pluginconf</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
+156:       <span class="ruby-ivar">@connector</span> = <span class="ruby-value str">&quot;activemq&quot;</span>
+157:       <span class="ruby-ivar">@securityprovider</span> = <span class="ruby-value str">&quot;Psk&quot;</span>
+158:       <span class="ruby-ivar">@factsource</span> = <span class="ruby-value str">&quot;Yaml&quot;</span>
+159:       <span class="ruby-ivar">@identity</span> = <span class="ruby-constant">Socket</span>.<span class="ruby-identifier">gethostname</span>
+160:       <span class="ruby-ivar">@registration</span> = <span class="ruby-value str">&quot;Agentlist&quot;</span>
+161:       <span class="ruby-ivar">@registerinterval</span> = <span class="ruby-value">0</span>
+162:       <span class="ruby-ivar">@registration_collective</span> = <span class="ruby-keyword kw">nil</span>
+163:       <span class="ruby-ivar">@classesfile</span> = <span class="ruby-value str">&quot;/var/lib/puppet/state/classes.txt&quot;</span>
+164:       <span class="ruby-ivar">@rpcaudit</span> = <span class="ruby-keyword kw">false</span>
+165:       <span class="ruby-ivar">@rpcauditprovider</span> = <span class="ruby-value str">&quot;&quot;</span>
+166:       <span class="ruby-ivar">@rpcauthorization</span> = <span class="ruby-keyword kw">false</span>
+167:       <span class="ruby-ivar">@rpcauthprovider</span> = <span class="ruby-value str">&quot;&quot;</span>
+168:       <span class="ruby-ivar">@configdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">configfile</span>)
+169:       <span class="ruby-ivar">@color</span> = <span class="ruby-operator">!</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">windows?</span>
+170:       <span class="ruby-ivar">@configfile</span> = <span class="ruby-identifier">configfile</span>
+171:       <span class="ruby-ivar">@logger_type</span> = <span class="ruby-value str">&quot;file&quot;</span>
+172:       <span class="ruby-ivar">@keeplogs</span> = <span class="ruby-value">5</span>
+173:       <span class="ruby-ivar">@max_log_size</span> = <span class="ruby-value">2097152</span>
+174:       <span class="ruby-ivar">@rpclimitmethod</span> = <span class="ruby-identifier">:first</span>
+175:       <span class="ruby-ivar">@libdir</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
+176:       <span class="ruby-ivar">@fact_cache_time</span> = <span class="ruby-value">300</span>
+177:       <span class="ruby-ivar">@loglevel</span> = <span class="ruby-value str">&quot;info&quot;</span>
+178:       <span class="ruby-ivar">@logfacility</span> = <span class="ruby-value str">&quot;user&quot;</span>
+179:       <span class="ruby-ivar">@collectives</span> = [<span class="ruby-value str">&quot;mcollective&quot;</span>]
+180:       <span class="ruby-ivar">@main_collective</span> = <span class="ruby-ivar">@collectives</span>.<span class="ruby-identifier">first</span>
+181:       <span class="ruby-ivar">@ssl_cipher</span> = <span class="ruby-value str">&quot;aes-256-cbc&quot;</span>
+182:       <span class="ruby-ivar">@direct_addressing</span> = <span class="ruby-keyword kw">true</span>
+183:       <span class="ruby-ivar">@direct_addressing_threshold</span> = <span class="ruby-value">10</span>
+184:       <span class="ruby-ivar">@default_discovery_method</span> = <span class="ruby-value str">&quot;mc&quot;</span>
+185:       <span class="ruby-ivar">@default_discovery_options</span> = []
+186:       <span class="ruby-ivar">@ttl</span> = <span class="ruby-value">60</span>
+187:       <span class="ruby-ivar">@mode</span> = <span class="ruby-identifier">:client</span>
+188:       <span class="ruby-ivar">@publish_timeout</span> = <span class="ruby-value">2</span>
+189:       <span class="ruby-ivar">@threaded</span> = <span class="ruby-keyword kw">false</span>
+190:     <span class="ruby-keyword kw">end</span>
+</pre>
+          </div>
+        </div>
+      </div>
+
+
+    </div>
+
+
+  </div>
+
+
+<div id="validator-badges">
+  <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
+</div>
+
+</body>
+</html>
\ No newline at end of file