zabby 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog.rdoc +17 -0
- data/README.rdoc +8 -6
- data/Rakefile +4 -2
- data/TODO.rdoc +12 -0
- data/doc/Zabby.html +9 -9
- data/doc/Zabby/AuthenticationError.html +1 -1
- data/doc/Zabby/Config.html +2 -2
- data/doc/Zabby/ConfigurationError.html +1 -1
- data/doc/Zabby/Connection.html +3 -3
- data/doc/Zabby/ResponseCodeError.html +1 -1
- data/doc/Zabby/Runner.html +142 -201
- data/doc/Zabby/ZObject.html +480 -0
- data/doc/_index.html +14 -1
- data/doc/class_list.html +1 -1
- data/doc/file.ChangeLog.html +91 -0
- data/doc/file.LICENSE.html +1 -1
- data/doc/file.README.html +52 -15
- data/doc/file.TODO.html +99 -0
- data/doc/file_list.html +6 -0
- data/doc/index.html +52 -15
- data/doc/method_list.html +70 -46
- data/doc/top-level-namespace.html +1 -1
- data/lib/zabby/runner.rb +28 -3
- data/lib/zabby/version.rb +1 -1
- data/lib/zabby/zobject.rb +5 -1
- metadata +8 -3
    
        data/doc/_index.html
    CHANGED
    
    | @@ -66,6 +66,12 @@ | |
| 66 66 | 
             
                <li class="r2"><a href="file.LICENSE.html" title="LICENSE">LICENSE</a></li>
         | 
| 67 67 |  | 
| 68 68 |  | 
| 69 | 
            +
                <li class="r1"><a href="file.TODO.html" title="TODO">TODO</a></li>
         | 
| 70 | 
            +
                
         | 
| 71 | 
            +
              
         | 
| 72 | 
            +
                <li class="r2"><a href="file.ChangeLog.html" title="ChangeLog">ChangeLog</a></li>
         | 
| 73 | 
            +
                
         | 
| 74 | 
            +
              
         | 
| 69 75 | 
             
              </ul>
         | 
| 70 76 |  | 
| 71 77 | 
             
            <div class="clear"></div>
         | 
| @@ -149,6 +155,13 @@ | |
| 149 155 | 
             
                      <li class="letter">Z</li>
         | 
| 150 156 | 
             
                      <ul>
         | 
| 151 157 |  | 
| 158 | 
            +
                          <li>
         | 
| 159 | 
            +
                            <span class='object_link'><a href="Zabby/ZObject.html" title="Zabby::ZObject (class)">ZObject</a></span> 
         | 
| 160 | 
            +
                            
         | 
| 161 | 
            +
                              <small>(Zabby)</small>
         | 
| 162 | 
            +
                            
         | 
| 163 | 
            +
                          </li>
         | 
| 164 | 
            +
                        
         | 
| 152 165 | 
             
                          <li>
         | 
| 153 166 | 
             
                            <span class='object_link'><a href="Zabby.html" title="Zabby (module)">Zabby</a></span> 
         | 
| 154 167 |  | 
| @@ -166,7 +179,7 @@ | |
| 166 179 | 
             
            </div>
         | 
| 167 180 |  | 
| 168 181 | 
             
                <div id="footer">
         | 
| 169 | 
            -
              Generated on  | 
| 182 | 
            +
              Generated on Wed Dec 21 12:25:10 2011 by 
         | 
| 170 183 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 171 184 | 
             
              0.7.4 (ruby-1.8.7).
         | 
| 172 185 | 
             
            </div>
         | 
    
        data/doc/class_list.html
    CHANGED
    
    | @@ -39,7 +39,7 @@ | |
| 39 39 |  | 
| 40 40 | 
             
                  <ul id="full_list" class="class">
         | 
| 41 41 | 
             
                    <li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
         | 
| 42 | 
            -
            <li><a class='toggle'></a> <span class='object_link'><a href="Zabby.html" title="Zabby (module)">Zabby</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="Zabby/AuthenticationError.html" title="Zabby::AuthenticationError (class)">AuthenticationError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Config.html" title="Zabby::Config (class)">Config</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ConfigurationError.html" title="Zabby::ConfigurationError (class)">ConfigurationError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Connection.html" title="Zabby::Connection (class)">Connection</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ResponseCodeError.html" title="Zabby::ResponseCodeError (class)">ResponseCodeError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Runner.html" title="Zabby::Runner (class)">Runner</a></span> < Object<small class='search_info'>Zabby</small></li></ul>
         | 
| 42 | 
            +
            <li><a class='toggle'></a> <span class='object_link'><a href="Zabby.html" title="Zabby (module)">Zabby</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="Zabby/AuthenticationError.html" title="Zabby::AuthenticationError (class)">AuthenticationError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Config.html" title="Zabby::Config (class)">Config</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ConfigurationError.html" title="Zabby::ConfigurationError (class)">ConfigurationError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Connection.html" title="Zabby::Connection (class)">Connection</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ResponseCodeError.html" title="Zabby::ResponseCodeError (class)">ResponseCodeError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Runner.html" title="Zabby::Runner (class)">Runner</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ZObject.html" title="Zabby::ZObject (class)">ZObject</a></span> < Object<small class='search_info'>Zabby</small></li></ul>
         | 
| 43 43 |  | 
| 44 44 | 
             
                  </ul>
         | 
| 45 45 | 
             
                </div>
         | 
| @@ -0,0 +1,91 @@ | |
| 1 | 
            +
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         | 
| 2 | 
            +
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
         | 
| 3 | 
            +
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
         | 
| 4 | 
            +
              <head>
         | 
| 5 | 
            +
                <meta http-equiv="Content-Type" content="text/html; charset=fr_fr" />
         | 
| 6 | 
            +
            <title>
         | 
| 7 | 
            +
              File: ChangeLog
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
                — Documentation by YARD 0.7.4
         | 
| 10 | 
            +
              
         | 
| 11 | 
            +
            </title>
         | 
| 12 | 
            +
             | 
| 13 | 
            +
              <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            <script type="text/javascript" charset="utf-8">
         | 
| 18 | 
            +
              relpath = '';
         | 
| 19 | 
            +
              if (relpath != '') relpath += '/';
         | 
| 20 | 
            +
            </script>
         | 
| 21 | 
            +
             | 
| 22 | 
            +
              <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
         | 
| 25 | 
            +
             | 
| 26 | 
            +
             | 
| 27 | 
            +
              </head>
         | 
| 28 | 
            +
              <body>
         | 
| 29 | 
            +
                <script type="text/javascript" charset="utf-8">
         | 
| 30 | 
            +
                  if (window.top.frames.main) document.body.className = 'frames';
         | 
| 31 | 
            +
                </script>
         | 
| 32 | 
            +
                
         | 
| 33 | 
            +
                <div id="header">
         | 
| 34 | 
            +
                  <div id="menu">
         | 
| 35 | 
            +
              
         | 
| 36 | 
            +
                <a href="_index.html" title="Index">Index</a> » 
         | 
| 37 | 
            +
                <span class="title">File: ChangeLog</span>
         | 
| 38 | 
            +
              
         | 
| 39 | 
            +
              
         | 
| 40 | 
            +
              <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
         | 
| 41 | 
            +
            </div>
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                  <div id="search">
         | 
| 44 | 
            +
              
         | 
| 45 | 
            +
                <a id="class_list_link" href="#">Class List</a>
         | 
| 46 | 
            +
              
         | 
| 47 | 
            +
                <a id="method_list_link" href="#">Method List</a>
         | 
| 48 | 
            +
              
         | 
| 49 | 
            +
                <a id="file_list_link" href="#">File List</a>
         | 
| 50 | 
            +
              
         | 
| 51 | 
            +
            </div>
         | 
| 52 | 
            +
                  <div class="clear"></div>
         | 
| 53 | 
            +
                </div>
         | 
| 54 | 
            +
                
         | 
| 55 | 
            +
                <iframe id="search_frame"></iframe>
         | 
| 56 | 
            +
                
         | 
| 57 | 
            +
                <div id="content"><div id='filecontents'><h1>ChangeLog for Zabby</h1>
         | 
| 58 | 
            +
            <h2>v0.0.4 (2011/12/21)</h2>
         | 
| 59 | 
            +
            <ul>
         | 
| 60 | 
            +
            <li>Same as v0.0.3 that I could not publish on rubygems.org
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            </li>
         | 
| 63 | 
            +
            </ul>
         | 
| 64 | 
            +
            <h2>v0.0.3 (2011/12/21)</h2>
         | 
| 65 | 
            +
            <ul>
         | 
| 66 | 
            +
            <li>Improve documentation and add all Zabbix API verbs
         | 
| 67 | 
            +
             | 
| 68 | 
            +
            </li>
         | 
| 69 | 
            +
            </ul>
         | 
| 70 | 
            +
            <h2>v0.0.2 (2011/12/20)</h2>
         | 
| 71 | 
            +
            <ul>
         | 
| 72 | 
            +
            <li>First public release.
         | 
| 73 | 
            +
             | 
| 74 | 
            +
            </li>
         | 
| 75 | 
            +
            </ul>
         | 
| 76 | 
            +
            <h2>v0.0.1 (2011/12/18)</h2>
         | 
| 77 | 
            +
            <ul>
         | 
| 78 | 
            +
            <li>Unpublished.
         | 
| 79 | 
            +
             | 
| 80 | 
            +
            </li>
         | 
| 81 | 
            +
            </ul>
         | 
| 82 | 
            +
            </div></div>
         | 
| 83 | 
            +
                
         | 
| 84 | 
            +
                <div id="footer">
         | 
| 85 | 
            +
              Generated on Wed Dec 21 12:25:11 2011 by 
         | 
| 86 | 
            +
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 87 | 
            +
              0.7.4 (ruby-1.8.7).
         | 
| 88 | 
            +
            </div>
         | 
| 89 | 
            +
             | 
| 90 | 
            +
              </body>
         | 
| 91 | 
            +
            </html>
         | 
    
        data/doc/file.LICENSE.html
    CHANGED
    
    | @@ -123,7 +123,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| 123 123 | 
             
            </div></div>
         | 
| 124 124 |  | 
| 125 125 | 
             
                <div id="footer">
         | 
| 126 | 
            -
              Generated on  | 
| 126 | 
            +
              Generated on Wed Dec 21 12:25:11 2011 by 
         | 
| 127 127 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 128 128 | 
             
              0.7.4 (ruby-1.8.7).
         | 
| 129 129 | 
             
            </div>
         | 
    
        data/doc/file.README.html
    CHANGED
    
    | @@ -83,6 +83,23 @@ specific configuration language. | |
| 83 83 | 
             
            <li>Simple design: avoids spaghetti code, WTF and facepalm, unlike some other
         | 
| 84 84 | 
             
            Ruby Zabbix libraries.
         | 
| 85 85 |  | 
| 86 | 
            +
            </li>
         | 
| 87 | 
            +
            </ul>
         | 
| 88 | 
            +
            <h2>Features</h2>
         | 
| 89 | 
            +
            <ul>
         | 
| 90 | 
            +
            <li>Low level Ruby API that maps every Zabbix API (JSON RPC) to Ruby hashes.
         | 
| 91 | 
            +
             | 
| 92 | 
            +
            </li>
         | 
| 93 | 
            +
            <li>Higher level Ruby DSL, both available in pure Ruby and for writing
         | 
| 94 | 
            +
            configuration files.
         | 
| 95 | 
            +
             | 
| 96 | 
            +
            </li>
         | 
| 97 | 
            +
            <li>Supports SSL and authenticated HTTP proxies.
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            </li>
         | 
| 100 | 
            +
            <li>Full featured IRB like shell included with Readline support. You can mix
         | 
| 101 | 
            +
            Zabbix instructions with Ruby calls transparently.
         | 
| 102 | 
            +
             | 
| 86 103 | 
             
            </li>
         | 
| 87 104 | 
             
            </ul>
         | 
| 88 105 | 
             
            <h2>Examples</h2>
         | 
| @@ -96,7 +113,7 @@ The barebone API can be used in Ruby like this: | |
| 96 113 | 
             
                <span class='rubyid_require identifier id'>require</span> <span class='string val'>"pp"</span>
         | 
| 97 114 |  | 
| 98 115 | 
             
                <span class='rubyid_z identifier id'>z</span> <span class='assign token'>=</span> <span class='rubyid_Zabby constant id'>Zabby</span><span class='dot token'>.</span><span class='rubyid_init identifier id'>init</span> <span class='rubyid_do do kw'>do</span>
         | 
| 99 | 
            -
                  <span class=' | 
| 116 | 
            +
                  <span class='rubyid_server identifier id'>server</span> <span class='string val'>"https://monitoring.example.com"</span>
         | 
| 100 117 | 
             
                  <span class='rubyid_user identifier id'>user</span> <span class='string val'>"api_user"</span>
         | 
| 101 118 | 
             
                  <span class='rubyid_password identifier id'>password</span> <span class='string val'>"s3cr3t"</span>
         | 
| 102 119 | 
             
                  <span class='rubyid_proxy_host identifier id'>proxy_host</span> <span class='string val'>"http://10.10.10.10"</span>
         | 
| @@ -109,7 +126,7 @@ The barebone API can be used in Ruby like this: | |
| 109 126 | 
             
                <span class='rubyid_pp identifier id'>pp</span> <span class='rubyid_z identifier id'>z</span><span class='dot token'>.</span><span class='rubyid_connection identifier id'>connection</span><span class='dot token'>.</span><span class='rubyid_perform_request identifier id'>perform_request</span><span class='lparen token'>(</span><span class='string val'>"item"</span><span class='comma token'>,</span> <span class='string val'>"get"</span><span class='comma token'>,</span> <span class='lbrace token'>{</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"master.example.com"</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"shorten"</span> <span class='rbrace token'>}</span><span class='rparen token'>)</span>
         | 
| 110 127 | 
             
            </pre>
         | 
| 111 128 | 
             
            <ul>
         | 
| 112 | 
            -
            <li>The <em> | 
| 129 | 
            +
            <li>The <em>server</em>, <em>user</em> and <em>passord</em> are necessary.
         | 
| 113 130 |  | 
| 114 131 | 
             
            </li>
         | 
| 115 132 | 
             
            <li>If you don’t provide the path to the JSON-RPC script
         | 
| @@ -120,27 +137,38 @@ The barebone API can be used in Ruby like this: | |
| 120 137 |  | 
| 121 138 | 
             
            </li>
         | 
| 122 139 | 
             
            </ul>
         | 
| 123 | 
            -
            <h3>Shell | 
| 140 | 
            +
            <h3>Shell</h3>
         | 
| 124 141 | 
             
            <p>
         | 
| 125 | 
            -
            <b>zabbysh</b> is an  | 
| 126 | 
            -
             | 
| 127 | 
            -
             | 
| 142 | 
            +
            <b>zabbysh</b> is an simple Zabbix Shell. It runs either interactively or
         | 
| 143 | 
            +
            can be used to execute a command file with the "-f CMD_FILE"
         | 
| 144 | 
            +
            option.
         | 
| 128 145 | 
             
            </p>
         | 
| 129 146 | 
             
            <p>
         | 
| 130 147 | 
             
            If the command file does not end with "exit" then the program
         | 
| 131 148 | 
             
            drops into the shell after executing the file.
         | 
| 132 149 | 
             
            </p>
         | 
| 150 | 
            +
            <p>
         | 
| 151 | 
            +
            <b>zabbysh</b> provides Readline support but does no support advanced IRB
         | 
| 152 | 
            +
            features likes multi-lines instructions.
         | 
| 153 | 
            +
            </p>
         | 
| 154 | 
            +
            <p>
         | 
| 155 | 
            +
            <b>zabbyrb</b> is another Zabbix Shell based on <b>IRB</b>. It provides the
         | 
| 156 | 
            +
            whole power of IRB but may be less stable than zabbysh because the IRB API
         | 
| 157 | 
            +
            is poorly documented and hard to use.
         | 
| 158 | 
            +
            </p>
         | 
| 133 159 | 
             
            <h4>Interactive shell</h4>
         | 
| 134 160 | 
             
            <pre class="code">
         | 
| 135 161 | 
             
                <span class='comment val'># zabbysh</span>
         | 
| 136 | 
            -
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class=' | 
| 162 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_server identifier id'>server</span> <span class='string val'>"https://monitoring.example.com"</span>
         | 
| 137 163 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_user identifier id'>user</span> <span class='string val'>"api_user"</span>
         | 
| 138 164 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_password identifier id'>password</span> <span class='string val'>"s3cr3t"</span>
         | 
| 139 165 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_host identifier id'>proxy_host</span> <span class='string val'>"http://10.10.10.10"</span>
         | 
| 140 166 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_user identifier id'>proxy_user</span> <span class='string val'>"john"</span>
         | 
| 141 | 
            -
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_password identifier id'>proxy_password</span> <span class='string val'>" | 
| 167 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_password identifier id'>proxy_password</span> <span class='string val'>"D0e"</span>
         | 
| 142 168 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_login identifier id'>login</span>
         | 
| 143 | 
            -
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logged_in? fid id'>logged_in?</span>
         | 
| 169 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_puts identifier id'>puts</span> <span class='rubyid_logged_in? fid id'>logged_in?</span>
         | 
| 170 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_host identifier id'>host</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='string val'>"filter"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='lbrace token'>{</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"monitor.example.com"</span> <span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"extend"</span>
         | 
| 171 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_item identifier id'>item</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"monitor.example.com"</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"refer"</span>
         | 
| 144 172 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='lbrack token'>[</span><span class='dot3 op'>...</span><span class='rbrack token'>]</span>
         | 
| 145 173 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logout identifier id'>logout</span>
         | 
| 146 174 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_exit identifier id'>exit</span>
         | 
| @@ -155,10 +183,10 @@ Create a file and put the same instructions as above in it, then execute | |
| 155 183 | 
             
            </pre>
         | 
| 156 184 | 
             
            <h2>Requirements</h2>
         | 
| 157 185 | 
             
            <ul>
         | 
| 158 | 
            -
            <li>Ruby 1.8. | 
| 186 | 
            +
            <li>Ruby 1.8.5. IT BASICALLY RUNS ANYWHERE!
         | 
| 159 187 |  | 
| 160 188 | 
             
            </li>
         | 
| 161 | 
            -
            <li>JSON library: json_pure
         | 
| 189 | 
            +
            <li>JSON library: ‘json’ or ‘json_pure’
         | 
| 162 190 |  | 
| 163 191 | 
             
            </li>
         | 
| 164 192 | 
             
            <li>OptionParser
         | 
| @@ -175,15 +203,24 @@ Create a file and put the same instructions as above in it, then execute | |
| 175 203 | 
             
            </li>
         | 
| 176 204 | 
             
            <li>GitHub projet: https://github.com/Pragmatic-Source/zabby
         | 
| 177 205 |  | 
| 206 | 
            +
            </li>
         | 
| 207 | 
            +
            <li>RubyGems.org homepage: https://rubygems.org/gems/zabby
         | 
| 208 | 
            +
             | 
| 209 | 
            +
            </li>
         | 
| 210 | 
            +
            <li>Author’s company: http://www.pragmatic-source.com
         | 
| 211 | 
            +
             | 
| 178 212 | 
             
            </li>
         | 
| 179 213 | 
             
            </ul>
         | 
| 180 | 
            -
            <h2> | 
| 214 | 
            +
            <h2>Contributing</h2>
         | 
| 181 215 | 
             
            <p>
         | 
| 182 | 
            -
             | 
| 216 | 
            +
            All contributions are welcome. You can either open a ticket on Github, send
         | 
| 217 | 
            +
            a pull request with a patch or send an email to the author.
         | 
| 183 218 | 
             
            </p>
         | 
| 219 | 
            +
            <h2>Author</h2>
         | 
| 184 220 | 
             
            <p>
         | 
| 185 | 
            -
             | 
| 221 | 
            +
            Farzad FARID mailto:ffarid@pragmatic-source.com
         | 
| 186 222 | 
             
            </p>
         | 
| 223 | 
            +
            <h3>Thanks to</h3>
         | 
| 187 224 | 
             
            <ul>
         | 
| 188 225 | 
             
            <li>Jean-Hadrien Chabran (jhchabran): Advices on code design.
         | 
| 189 226 |  | 
| @@ -225,7 +262,7 @@ LICENSE file. | |
| 225 262 | 
             
            </div></div>
         | 
| 226 263 |  | 
| 227 264 | 
             
                <div id="footer">
         | 
| 228 | 
            -
              Generated on  | 
| 265 | 
            +
              Generated on Wed Dec 21 12:25:11 2011 by 
         | 
| 229 266 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 230 267 | 
             
              0.7.4 (ruby-1.8.7).
         | 
| 231 268 | 
             
            </div>
         | 
    
        data/doc/file.TODO.html
    ADDED
    
    | @@ -0,0 +1,99 @@ | |
| 1 | 
            +
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         | 
| 2 | 
            +
              "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
         | 
| 3 | 
            +
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
         | 
| 4 | 
            +
              <head>
         | 
| 5 | 
            +
                <meta http-equiv="Content-Type" content="text/html; charset=fr_fr" />
         | 
| 6 | 
            +
            <title>
         | 
| 7 | 
            +
              File: TODO
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
                — Documentation by YARD 0.7.4
         | 
| 10 | 
            +
              
         | 
| 11 | 
            +
            </title>
         | 
| 12 | 
            +
             | 
| 13 | 
            +
              <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            <script type="text/javascript" charset="utf-8">
         | 
| 18 | 
            +
              relpath = '';
         | 
| 19 | 
            +
              if (relpath != '') relpath += '/';
         | 
| 20 | 
            +
            </script>
         | 
| 21 | 
            +
             | 
| 22 | 
            +
              <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
         | 
| 25 | 
            +
             | 
| 26 | 
            +
             | 
| 27 | 
            +
              </head>
         | 
| 28 | 
            +
              <body>
         | 
| 29 | 
            +
                <script type="text/javascript" charset="utf-8">
         | 
| 30 | 
            +
                  if (window.top.frames.main) document.body.className = 'frames';
         | 
| 31 | 
            +
                </script>
         | 
| 32 | 
            +
                
         | 
| 33 | 
            +
                <div id="header">
         | 
| 34 | 
            +
                  <div id="menu">
         | 
| 35 | 
            +
              
         | 
| 36 | 
            +
                <a href="_index.html" title="Index">Index</a> » 
         | 
| 37 | 
            +
                <span class="title">File: TODO</span>
         | 
| 38 | 
            +
              
         | 
| 39 | 
            +
              
         | 
| 40 | 
            +
              <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
         | 
| 41 | 
            +
            </div>
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                  <div id="search">
         | 
| 44 | 
            +
              
         | 
| 45 | 
            +
                <a id="class_list_link" href="#">Class List</a>
         | 
| 46 | 
            +
              
         | 
| 47 | 
            +
                <a id="method_list_link" href="#">Method List</a>
         | 
| 48 | 
            +
              
         | 
| 49 | 
            +
                <a id="file_list_link" href="#">File List</a>
         | 
| 50 | 
            +
              
         | 
| 51 | 
            +
            </div>
         | 
| 52 | 
            +
                  <div class="clear"></div>
         | 
| 53 | 
            +
                </div>
         | 
| 54 | 
            +
                
         | 
| 55 | 
            +
                <iframe id="search_frame"></iframe>
         | 
| 56 | 
            +
                
         | 
| 57 | 
            +
                <div id="content"><div id='filecontents'><h1>TODO list for Zabby</h1>
         | 
| 58 | 
            +
            <p>
         | 
| 59 | 
            +
            Zabby is still a young projet! There are many features missing and possible
         | 
| 60 | 
            +
            improvements:
         | 
| 61 | 
            +
            </p>
         | 
| 62 | 
            +
            <ul>
         | 
| 63 | 
            +
            <li>Document the code with <b>Yard</b>
         | 
| 64 | 
            +
             | 
| 65 | 
            +
            </li>
         | 
| 66 | 
            +
            <li>Write tests:
         | 
| 67 | 
            +
             | 
| 68 | 
            +
            <ul>
         | 
| 69 | 
            +
            <li>Use RSpec
         | 
| 70 | 
            +
             | 
| 71 | 
            +
            </li>
         | 
| 72 | 
            +
            <li>Use a <em>webmock</em> to simulate a Zabix Server, maybe <b>VCR</b>
         | 
| 73 | 
            +
             | 
| 74 | 
            +
            </li>
         | 
| 75 | 
            +
            </ul>
         | 
| 76 | 
            +
            </li>
         | 
| 77 | 
            +
            <li>Validate API verbs
         | 
| 78 | 
            +
             | 
| 79 | 
            +
            </li>
         | 
| 80 | 
            +
            <li>Betting Exceptions and error handling
         | 
| 81 | 
            +
             | 
| 82 | 
            +
            </li>
         | 
| 83 | 
            +
            <li>Add online help to the shell
         | 
| 84 | 
            +
             | 
| 85 | 
            +
            </li>
         | 
| 86 | 
            +
            <li>Improve or merge <tt>zabbysh</tt> and <tt>zabbyrb</tt>
         | 
| 87 | 
            +
             | 
| 88 | 
            +
            </li>
         | 
| 89 | 
            +
            </ul>
         | 
| 90 | 
            +
            </div></div>
         | 
| 91 | 
            +
                
         | 
| 92 | 
            +
                <div id="footer">
         | 
| 93 | 
            +
              Generated on Wed Dec 21 12:25:11 2011 by 
         | 
| 94 | 
            +
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 95 | 
            +
              0.7.4 (ruby-1.8.7).
         | 
| 96 | 
            +
            </div>
         | 
| 97 | 
            +
             | 
| 98 | 
            +
              </body>
         | 
| 99 | 
            +
            </html>
         | 
    
        data/doc/file_list.html
    CHANGED
    
    | @@ -46,6 +46,12 @@ | |
| 46 46 | 
             
              <li class="r2"><a href="file.LICENSE.html" title="LICENSE">LICENSE</a></li>
         | 
| 47 47 |  | 
| 48 48 |  | 
| 49 | 
            +
              <li class="r1"><a href="file.TODO.html" title="TODO">TODO</a></li>
         | 
| 50 | 
            +
              
         | 
| 51 | 
            +
             | 
| 52 | 
            +
              <li class="r2"><a href="file.ChangeLog.html" title="ChangeLog">ChangeLog</a></li>
         | 
| 53 | 
            +
              
         | 
| 54 | 
            +
             | 
| 49 55 | 
             
                  </ul>
         | 
| 50 56 | 
             
                </div>
         | 
| 51 57 | 
             
              </body>
         | 
    
        data/doc/index.html
    CHANGED
    
    | @@ -83,6 +83,23 @@ specific configuration language. | |
| 83 83 | 
             
            <li>Simple design: avoids spaghetti code, WTF and facepalm, unlike some other
         | 
| 84 84 | 
             
            Ruby Zabbix libraries.
         | 
| 85 85 |  | 
| 86 | 
            +
            </li>
         | 
| 87 | 
            +
            </ul>
         | 
| 88 | 
            +
            <h2>Features</h2>
         | 
| 89 | 
            +
            <ul>
         | 
| 90 | 
            +
            <li>Low level Ruby API that maps every Zabbix API (JSON RPC) to Ruby hashes.
         | 
| 91 | 
            +
             | 
| 92 | 
            +
            </li>
         | 
| 93 | 
            +
            <li>Higher level Ruby DSL, both available in pure Ruby and for writing
         | 
| 94 | 
            +
            configuration files.
         | 
| 95 | 
            +
             | 
| 96 | 
            +
            </li>
         | 
| 97 | 
            +
            <li>Supports SSL and authenticated HTTP proxies.
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            </li>
         | 
| 100 | 
            +
            <li>Full featured IRB like shell included with Readline support. You can mix
         | 
| 101 | 
            +
            Zabbix instructions with Ruby calls transparently.
         | 
| 102 | 
            +
             | 
| 86 103 | 
             
            </li>
         | 
| 87 104 | 
             
            </ul>
         | 
| 88 105 | 
             
            <h2>Examples</h2>
         | 
| @@ -96,7 +113,7 @@ The barebone API can be used in Ruby like this: | |
| 96 113 | 
             
                <span class='rubyid_require identifier id'>require</span> <span class='string val'>"pp"</span>
         | 
| 97 114 |  | 
| 98 115 | 
             
                <span class='rubyid_z identifier id'>z</span> <span class='assign token'>=</span> <span class='rubyid_Zabby constant id'>Zabby</span><span class='dot token'>.</span><span class='rubyid_init identifier id'>init</span> <span class='rubyid_do do kw'>do</span>
         | 
| 99 | 
            -
                  <span class=' | 
| 116 | 
            +
                  <span class='rubyid_server identifier id'>server</span> <span class='string val'>"https://monitoring.example.com"</span>
         | 
| 100 117 | 
             
                  <span class='rubyid_user identifier id'>user</span> <span class='string val'>"api_user"</span>
         | 
| 101 118 | 
             
                  <span class='rubyid_password identifier id'>password</span> <span class='string val'>"s3cr3t"</span>
         | 
| 102 119 | 
             
                  <span class='rubyid_proxy_host identifier id'>proxy_host</span> <span class='string val'>"http://10.10.10.10"</span>
         | 
| @@ -109,7 +126,7 @@ The barebone API can be used in Ruby like this: | |
| 109 126 | 
             
                <span class='rubyid_pp identifier id'>pp</span> <span class='rubyid_z identifier id'>z</span><span class='dot token'>.</span><span class='rubyid_connection identifier id'>connection</span><span class='dot token'>.</span><span class='rubyid_perform_request identifier id'>perform_request</span><span class='lparen token'>(</span><span class='string val'>"item"</span><span class='comma token'>,</span> <span class='string val'>"get"</span><span class='comma token'>,</span> <span class='lbrace token'>{</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"master.example.com"</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"shorten"</span> <span class='rbrace token'>}</span><span class='rparen token'>)</span>
         | 
| 110 127 | 
             
            </pre>
         | 
| 111 128 | 
             
            <ul>
         | 
| 112 | 
            -
            <li>The <em> | 
| 129 | 
            +
            <li>The <em>server</em>, <em>user</em> and <em>passord</em> are necessary.
         | 
| 113 130 |  | 
| 114 131 | 
             
            </li>
         | 
| 115 132 | 
             
            <li>If you don’t provide the path to the JSON-RPC script
         | 
| @@ -120,27 +137,38 @@ The barebone API can be used in Ruby like this: | |
| 120 137 |  | 
| 121 138 | 
             
            </li>
         | 
| 122 139 | 
             
            </ul>
         | 
| 123 | 
            -
            <h3>Shell | 
| 140 | 
            +
            <h3>Shell</h3>
         | 
| 124 141 | 
             
            <p>
         | 
| 125 | 
            -
            <b>zabbysh</b> is an  | 
| 126 | 
            -
             | 
| 127 | 
            -
             | 
| 142 | 
            +
            <b>zabbysh</b> is an simple Zabbix Shell. It runs either interactively or
         | 
| 143 | 
            +
            can be used to execute a command file with the "-f CMD_FILE"
         | 
| 144 | 
            +
            option.
         | 
| 128 145 | 
             
            </p>
         | 
| 129 146 | 
             
            <p>
         | 
| 130 147 | 
             
            If the command file does not end with "exit" then the program
         | 
| 131 148 | 
             
            drops into the shell after executing the file.
         | 
| 132 149 | 
             
            </p>
         | 
| 150 | 
            +
            <p>
         | 
| 151 | 
            +
            <b>zabbysh</b> provides Readline support but does no support advanced IRB
         | 
| 152 | 
            +
            features likes multi-lines instructions.
         | 
| 153 | 
            +
            </p>
         | 
| 154 | 
            +
            <p>
         | 
| 155 | 
            +
            <b>zabbyrb</b> is another Zabbix Shell based on <b>IRB</b>. It provides the
         | 
| 156 | 
            +
            whole power of IRB but may be less stable than zabbysh because the IRB API
         | 
| 157 | 
            +
            is poorly documented and hard to use.
         | 
| 158 | 
            +
            </p>
         | 
| 133 159 | 
             
            <h4>Interactive shell</h4>
         | 
| 134 160 | 
             
            <pre class="code">
         | 
| 135 161 | 
             
                <span class='comment val'># zabbysh</span>
         | 
| 136 | 
            -
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class=' | 
| 162 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_server identifier id'>server</span> <span class='string val'>"https://monitoring.example.com"</span>
         | 
| 137 163 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_user identifier id'>user</span> <span class='string val'>"api_user"</span>
         | 
| 138 164 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_password identifier id'>password</span> <span class='string val'>"s3cr3t"</span>
         | 
| 139 165 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_host identifier id'>proxy_host</span> <span class='string val'>"http://10.10.10.10"</span>
         | 
| 140 166 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_user identifier id'>proxy_user</span> <span class='string val'>"john"</span>
         | 
| 141 | 
            -
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_password identifier id'>proxy_password</span> <span class='string val'>" | 
| 167 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_password identifier id'>proxy_password</span> <span class='string val'>"D0e"</span>
         | 
| 142 168 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_login identifier id'>login</span>
         | 
| 143 | 
            -
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logged_in? fid id'>logged_in?</span>
         | 
| 169 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_puts identifier id'>puts</span> <span class='rubyid_logged_in? fid id'>logged_in?</span>
         | 
| 170 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_host identifier id'>host</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='string val'>"filter"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='lbrace token'>{</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"monitor.example.com"</span> <span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"extend"</span>
         | 
| 171 | 
            +
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_item identifier id'>item</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"monitor.example.com"</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"refer"</span>
         | 
| 144 172 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='lbrack token'>[</span><span class='dot3 op'>...</span><span class='rbrack token'>]</span>
         | 
| 145 173 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logout identifier id'>logout</span>
         | 
| 146 174 | 
             
                <span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_exit identifier id'>exit</span>
         | 
| @@ -155,10 +183,10 @@ Create a file and put the same instructions as above in it, then execute | |
| 155 183 | 
             
            </pre>
         | 
| 156 184 | 
             
            <h2>Requirements</h2>
         | 
| 157 185 | 
             
            <ul>
         | 
| 158 | 
            -
            <li>Ruby 1.8. | 
| 186 | 
            +
            <li>Ruby 1.8.5. IT BASICALLY RUNS ANYWHERE!
         | 
| 159 187 |  | 
| 160 188 | 
             
            </li>
         | 
| 161 | 
            -
            <li>JSON library: json_pure
         | 
| 189 | 
            +
            <li>JSON library: ‘json’ or ‘json_pure’
         | 
| 162 190 |  | 
| 163 191 | 
             
            </li>
         | 
| 164 192 | 
             
            <li>OptionParser
         | 
| @@ -175,15 +203,24 @@ Create a file and put the same instructions as above in it, then execute | |
| 175 203 | 
             
            </li>
         | 
| 176 204 | 
             
            <li>GitHub projet: https://github.com/Pragmatic-Source/zabby
         | 
| 177 205 |  | 
| 206 | 
            +
            </li>
         | 
| 207 | 
            +
            <li>RubyGems.org homepage: https://rubygems.org/gems/zabby
         | 
| 208 | 
            +
             | 
| 209 | 
            +
            </li>
         | 
| 210 | 
            +
            <li>Author’s company: http://www.pragmatic-source.com
         | 
| 211 | 
            +
             | 
| 178 212 | 
             
            </li>
         | 
| 179 213 | 
             
            </ul>
         | 
| 180 | 
            -
            <h2> | 
| 214 | 
            +
            <h2>Contributing</h2>
         | 
| 181 215 | 
             
            <p>
         | 
| 182 | 
            -
             | 
| 216 | 
            +
            All contributions are welcome. You can either open a ticket on Github, send
         | 
| 217 | 
            +
            a pull request with a patch or send an email to the author.
         | 
| 183 218 | 
             
            </p>
         | 
| 219 | 
            +
            <h2>Author</h2>
         | 
| 184 220 | 
             
            <p>
         | 
| 185 | 
            -
             | 
| 221 | 
            +
            Farzad FARID mailto:ffarid@pragmatic-source.com
         | 
| 186 222 | 
             
            </p>
         | 
| 223 | 
            +
            <h3>Thanks to</h3>
         | 
| 187 224 | 
             
            <ul>
         | 
| 188 225 | 
             
            <li>Jean-Hadrien Chabran (jhchabran): Advices on code design.
         | 
| 189 226 |  | 
| @@ -225,7 +262,7 @@ LICENSE file. | |
| 225 262 | 
             
            </div></div>
         | 
| 226 263 |  | 
| 227 264 | 
             
                <div id="footer">
         | 
| 228 | 
            -
              Generated on  | 
| 265 | 
            +
              Generated on Wed Dec 21 12:25:11 2011 by 
         | 
| 229 266 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 230 267 | 
             
              0.7.4 (ruby-1.8.7).
         | 
| 231 268 | 
             
            </div>
         |