<!DOCTYPE html>

<html>
<head>
  <title>sample12.rb</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="docco.css" />
</head>
<body>
  <div id="container">
    <div id="background"></div>
    
    <ul class="sections">
        
          <li id="title">
              <div class="annotation">
                  <h1>sample12.rb</h1>
              </div>
          </li>
        
        
        
        <li id="section-1">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-1">&#182;</a>
              </div>
              <p>GET request</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>get <span class="string">'/sample12'</span> <span class="keyword">do</span>
  haml <span class="symbol">:sample12</span>
<span class="keyword">end</span></pre></div></div>
            
        </li>
        
        
        <li id="section-2">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-2">&#182;</a>
              </div>
              <p>POST request</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>post <span class="string">'/sample12'</span> <span class="keyword">do</span></pre></div></div>
            
        </li>
        
        
        <li id="section-3">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-3">&#182;</a>
              </div>
              <p>Set variables</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>  set <span class="symbol">:client_id</span>, params[<span class="symbol">:clientId</span>]
  set <span class="symbol">:private_key</span>, params[<span class="symbol">:privateKey</span>]
  set <span class="symbol">:file_id</span>, params[<span class="symbol">:fileId</span>]
  set <span class="symbol">:base_path</span>, params[<span class="symbol">:basePath</span>]

  <span class="keyword">begin</span></pre></div></div>
            
        </li>
        
        
        <li id="section-4">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-4">&#182;</a>
              </div>
              <p>Check required variables</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>    raise <span class="string">'Please enter all required parameters'</span> <span class="keyword">if</span> settings.client_id.empty? <span class="keyword">or</span> settings.private_key.empty? <span class="keyword">or</span> settings.file_id.empty?

    <span class="keyword">if</span> settings.base_path.empty? <span class="keyword">then</span> settings.base_path = <span class="string">'https://api.groupdocs.com'</span> <span class="keyword">end</span></pre></div></div>
            
        </li>
        
        
        <li id="section-5">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-5">&#182;</a>
              </div>
              <p>Configure your access to API server</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>    <span class="constant">GroupDocs</span>.configure <span class="keyword">do</span> |groupdocs|
      groupdocs.client_id = settings.client_id
      groupdocs.private_key = settings.private_key</pre></div></div>
            
        </li>
        
        
        <li id="section-6">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-6">&#182;</a>
              </div>
              <p>Optionally specify API server and version</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>      groupdocs.api_server = settings.base_path <span class="comment"># default is 'https://api.groupdocs.com'</span>
    <span class="keyword">end</span></pre></div></div>
            
        </li>
        
        
        <li id="section-7">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-7">&#182;</a>
              </div>
              <p>Make a request to API using client_id and private_key</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>    files_list = <span class="constant">GroupDocs::Storage::Folder</span>.list!(<span class="string">'/'</span>, {})
    document = <span class="string">''</span></pre></div></div>
            
        </li>
        
        
        <li id="section-8">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-8">&#182;</a>
              </div>
              <p>Get document by file ID</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>    files_list.each <span class="keyword">do</span> |element|
      <span class="keyword">if</span> element.respond_to?(<span class="string">'guid'</span>) == <span class="keyword">true</span> <span class="keyword">and</span> element.guid == settings.file_id
        document = element
      <span class="keyword">end</span>
    <span class="keyword">end</span>

    <span class="keyword">unless</span> document.instance_of? <span class="constant">String</span></pre></div></div>
            
        </li>
        
        
        <li id="section-9">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-9">&#182;</a>
              </div>
              <p>Get list of annotations</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>      annotations = document.to_document.annotations!()
    <span class="keyword">end</span>

  <span class="keyword">rescue</span> <span class="constant">Exception</span> =&gt; e
    err = e.message
  <span class="keyword">end</span></pre></div></div>
            
        </li>
        
        
        <li id="section-10">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-10">&#182;</a>
              </div>
              <p>Set variables for template</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>  haml <span class="symbol">:sample12</span>, <span class="symbol">:locals</span> =&gt; {<span class="symbol">:clientId</span> =&gt; settings.client_id, <span class="symbol">:privateKey</span> =&gt; settings.private_key, <span class="symbol">:annotations</span> =&gt; annotations, <span class="symbol">:fileId</span> =&gt; settings.file_id, <span class="symbol">:err</span> =&gt; err}
<span class="keyword">end</span></pre></div></div>
            
        </li>
        
    </ul>
  </div>
</body>
</html>