weareswat/invoicexpress-gem

View on GitHub
doc/yard/Invoicexpress/Client/Invoices.html

Summary

Maintainability
Test Coverage
<!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>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
  Module: Invoicexpress::Client::Invoices
  
    &mdash; Documentation by YARD 0.8.5
  
</title>

  <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />

  <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />

<script type="text/javascript" charset="utf-8">
  hasFrames = window.top.frames.main ? true : false;
  relpath = '../../';
  framesUrl = "../../frames.html#!" + escape(window.location.href);
</script>


  <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>

  <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>


  </head>
  <body>
    <div id="header">
      <div id="menu">
  
    <a href="../../_index.html">Index (I)</a> &raquo;
    <span class='title'><span class='object_link'><a href="../../Invoicexpress.html" title="Invoicexpress (module)">Invoicexpress</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Client.html" title="Invoicexpress::Client (class)">Client</a></span></span>
     &raquo; 
    <span class="title">Invoices</span>
  

  <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
</div>

      <div id="search">
  
    <a class="full_list_link" id="class_list_link"
        href="../../class_list.html">
      Class List
    </a>
  
    <a class="full_list_link" id="method_list_link"
        href="../../method_list.html">
      Method List
    </a>
  
    <a class="full_list_link" id="file_list_link"
        href="../../file_list.html">
      File List
    </a>
  
</div>
      <div class="clear"></div>
    </div>

    <iframe id="search_frame"></iframe>

    <div id="content"><h1>Module: Invoicexpress::Client::Invoices
  
  
  
</h1>

<dl class="box">
  
  
    
  
    
  
  
    <dt class="r1">Included in:</dt>
    <dd class="r1"><span class='object_link'><a href="../Client.html" title="Invoicexpress::Client (class)">Invoicexpress::Client</a></span></dd>
    
  
  
    <dt class="r2 last">Defined in:</dt>
    <dd class="r2 last">lib/invoicexpress/client/invoices.rb</dd>
  
</dl>
<div class="clear"></div>








  
    <h2>
      Instance Method Summary
      <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
    </h2>

    <ul class="summary">
      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#create_invoice-instance_method" title="#create_invoice (instance method)">- (Invoicexpress::Models::Invoice) <strong>create_invoice</strong>(invoice, options = {}) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'><p>Creates a new invoice.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#invoice-instance_method" title="#invoice (instance method)">- (Invoicexpress::Models::Invoice) <strong>invoice</strong>(invoice_id, options = {}) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'><p>Returns a specific invoice.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#invoice_mail-instance_method" title="#invoice_mail (instance method)">- (Object) <strong>invoice_mail</strong>(invoice_id, message, options = {}) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'><p>Sends the invoice by email.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#invoices-instance_method" title="#invoices (instance method)">- (Array&lt;Invoicexpress::Models::Invoice&gt;) <strong>invoices</strong>(options = {}) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'><p>Returns all your invoices.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#update_invoice-instance_method" title="#update_invoice (instance method)">- (Object) <strong>update_invoice</strong>(invoice, options = {}) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'><p>Updates an invoice
It also allows you to create a new client and/or items in the same request.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#update_invoice_state-instance_method" title="#update_invoice_state (instance method)">- (Invoicexpress::Models::Invoice) <strong>update_invoice_state</strong>(invoice_id, invoice_state, options = {}) </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'><p>Changes the state of an invoice.</p>
</div></span>
  
</li>

      
    </ul>
  



  <div id="instance_method_details" class="method_details_list">
    <h2>Instance Method Details</h2>

    
      <div class="method_details first">
  <h3 class="signature first" id="create_invoice-instance_method">
  
    - (<tt><span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span></tt>) <strong>create_invoice</strong>(invoice, options = {}) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <p>Creates a new invoice. Also allows to create a new client and/or new items in the same request.
If the client name does not exist a new one is created.
If items do not exist with the given names, new ones will be created.
If item name  already exists, the item is updated with the new values.
Regarding item taxes, if the tax name is not found, no tax is applyed to that item.
Portuguese accounts should also send the IVA exemption reason if the invoice contains exempt items(IVA 0%)</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>invoice</span>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The invoice to create</p>
</div>
      
    </li>
  
</ul>

<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The created invoice</p>
</div>
      
    </li>
  
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::Unauthorized When the client is unauthorized</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::UnprocessableEntity When there are errors on the submission</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


42
43
44
45
46
47</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/invoicexpress/client/invoices.rb', line 42</span>

<span class='kw'>def</span> <span class='id identifier rubyid_create_invoice'>create_invoice</span><span class='lparen'>(</span><span class='id identifier rubyid_invoice'>invoice</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoice has the wrong type</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_invoice'>invoice</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Invoice</span><span class='rparen'>)</span>

  <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:klass</span> <span class='op'>=&gt;</span> <span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Invoice</span><span class='comma'>,</span> <span class='symbol'>:body</span>  <span class='op'>=&gt;</span> <span class='id identifier rubyid_invoice'>invoice</span> <span class='rbrace'>}</span>
  <span class='id identifier rubyid_post'>post</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoices.xml</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="invoice-instance_method">
  
    - (<tt><span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span></tt>) <strong>invoice</strong>(invoice_id, options = {}) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <p>Returns a specific invoice</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>invoice_id</span>
      
      
        <span class='type'>(<tt>String</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>Requested invoice id</p>
</div>
      
    </li>
  
</ul>

<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The requested invoice</p>
</div>
      
    </li>
  
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::Unauthorized When the client is unauthorized</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::NotFound When the invoice doesn&#8217;t exist</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


25
26
27
28
29</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/invoicexpress/client/invoices.rb', line 25</span>

<span class='kw'>def</span> <span class='id identifier rubyid_invoice'>invoice</span><span class='lparen'>(</span><span class='id identifier rubyid_invoice_id'>invoice_id</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:klass</span> <span class='op'>=&gt;</span> <span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Invoice</span> <span class='rbrace'>}</span>

  <span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoices/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_invoice_id'>invoice_id</span><span class='rbrace'>}</span><span class='tstring_content'>.xml</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="invoice_mail-instance_method">
  
    - (<tt>Object</tt>) <strong>invoice_mail</strong>(invoice_id, message, options = {}) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <p>Sends the invoice by email</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>invoice_id</span>
      
      
        <span class='type'>(<tt>String</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The invoice id to change</p>
</div>
      
    </li>
  
    <li>
      
        <span class='name'>message</span>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="../Models/Message.html" title="Invoicexpress::Models::Message (class)">Invoicexpress::Models::Message</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The message to send</p>
</div>
      
    </li>
  
</ul>

<p class="tag_title">Raises:</p>
<ul class="raise">
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::Unauthorized When the client is unauthorized</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::UnprocessableEntity When there are errors on the submission</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::NotFound When the invoice doesn&#8217;t exist</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


98
99
100
101
102
103</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/invoicexpress/client/invoices.rb', line 98</span>

<span class='kw'>def</span> <span class='id identifier rubyid_invoice_mail'>invoice_mail</span><span class='lparen'>(</span><span class='id identifier rubyid_invoice_id'>invoice_id</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>message has the wrong type</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_message'>message</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Message</span><span class='rparen'>)</span>

  <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:body</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_message'>message</span><span class='comma'>,</span> <span class='symbol'>:klass</span> <span class='op'>=&gt;</span> <span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Invoice</span> <span class='rbrace'>}</span>
  <span class='id identifier rubyid_put'>put</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoices/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_invoice_id'>invoice_id</span><span class='rbrace'>}</span><span class='tstring_content'>/email-invoice.xml</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="invoices-instance_method">
  
    - (<tt>Array&lt;<span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span>&gt;</tt>) <strong>invoices</strong>(options = {}) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <p>Returns all your invoices</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>options</span>
      
      
        <span class='type'>(<tt>Hash</tt>)</span>
      
      
        <em class="default">(defaults to: <tt>{}</tt>)</em>
      
      
        &mdash;
        <div class='inline'><p>a customizable set of options</p>
</div>
      
    </li>
  
</ul>

  
    
    
    <p class="tag_title">Options Hash (<tt>options</tt>):</p>
    <ul class="option">
      
        <li>
          <span class="name">page</span>
          <span class="type">(<tt>Integer</tt>)</span>
          <span class="default">
            
              &mdash; default:
              <tt>1</tt>
            
          </span>
          
            &mdash; <div class='inline'><p>You can ask a specific page of invoices</p>
</div>
          
        </li>
      
    </ul>
  

<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Array&lt;<span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span>&gt;</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>An array with all your invoices</p>
</div>
      
    </li>
  
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::Unauthorized When the client is unauthorized</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


13
14
15
16
17</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/invoicexpress/client/invoices.rb', line 13</span>

<span class='kw'>def</span> <span class='id identifier rubyid_invoices'>invoices</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:page</span> <span class='op'>=&gt;</span> <span class='int'>1</span><span class='comma'>,</span> <span class='symbol'>:klass</span> <span class='op'>=&gt;</span> <span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Invoices</span> <span class='rbrace'>}</span>

  <span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoices.xml</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="update_invoice-instance_method">
  
    - (<tt>Object</tt>) <strong>update_invoice</strong>(invoice, options = {}) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <p>Updates an invoice
It also allows you to create a new client and/or items in the same request.
If the client name does not exist a new client is created.
Regarding item taxes, if the tax name is not found, no tax will be applied to that item.
If item does not exist with the given name, a new one will be created.
If item exists it will be updated with the new values
Be careful when updating the document items, any missing items from the original document will be deleted.</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>invoice</span>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The invoice to update</p>
</div>
      
    </li>
  
</ul>

<p class="tag_title">Raises:</p>
<ul class="raise">
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::Unauthorized When the client is unauthorized</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::UnprocessableEntity When there are errors on the submission</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::NotFound When the invoice doesn&#8217;t exist</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


61
62
63
64
65
66</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/invoicexpress/client/invoices.rb', line 61</span>

<span class='kw'>def</span> <span class='id identifier rubyid_update_invoice'>update_invoice</span><span class='lparen'>(</span><span class='id identifier rubyid_invoice'>invoice</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoice has the wrong type</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_invoice'>invoice</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Invoice</span><span class='rparen'>)</span>

  <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:klass</span> <span class='op'>=&gt;</span> <span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Invoice</span><span class='comma'>,</span> <span class='symbol'>:body</span>  <span class='op'>=&gt;</span> <span class='id identifier rubyid_invoice'>invoice</span><span class='period'>.</span><span class='id identifier rubyid_to_core'>to_core</span> <span class='rbrace'>}</span>
  <span class='id identifier rubyid_put'>put</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoices/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_invoice'>invoice</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='rbrace'>}</span><span class='tstring_content'>.xml</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="update_invoice_state-instance_method">
  
    - (<tt><span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span></tt>) <strong>update_invoice_state</strong>(invoice_id, invoice_state, options = {}) 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <p>Changes the state of an invoice.
Possible state transitions:
- draft to final ??? finalized
- final to second copy ??? second_copy
- final or second copy to canceled ??? canceled
- final or second copy to settled ??? settled
- settled to final ??? unsettled
Any other transitions will fail.
When canceling an invoice you must specify a reason.</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>invoice_id</span>
      
      
        <span class='type'>(<tt>String</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The invoice id to change</p>
</div>
      
    </li>
  
    <li>
      
        <span class='name'>invoice_state</span>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="../Models/InvoiceState.html" title="Invoicexpress::Models::InvoiceState (class)">Invoicexpress::Models::InvoiceState</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The new state</p>
</div>
      
    </li>
  
</ul>

<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="../Models/Invoice.html" title="Invoicexpress::Models::Invoice (class)">Invoicexpress::Models::Invoice</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'><p>The updated invoice</p>
</div>
      
    </li>
  
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::Unauthorized When the client is unauthorized</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::UnprocessableEntity When there are errors on the submission</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'><p>Invoicexpress::NotFound When the invoice doesn&#8217;t exist</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


84
85
86
87
88
89</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/invoicexpress/client/invoices.rb', line 84</span>

<span class='kw'>def</span> <span class='id identifier rubyid_update_invoice_state'>update_invoice_state</span><span class='lparen'>(</span><span class='id identifier rubyid_invoice_id'>invoice_id</span><span class='comma'>,</span> <span class='id identifier rubyid_invoice_state'>invoice_state</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoice_state has the wrong type</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_invoice_state'>invoice_state</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>InvoiceState</span><span class='rparen'>)</span>

  <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='symbol'>:klass</span> <span class='op'>=&gt;</span> <span class='const'>Invoicexpress</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Invoice</span><span class='comma'>,</span> <span class='symbol'>:body</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_invoice_state'>invoice_state</span> <span class='rbrace'>}</span>
  <span class='id identifier rubyid_put'>put</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>invoices/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_invoice_id'>invoice_id</span><span class='rbrace'>}</span><span class='tstring_content'>/change-state.xml</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
  </div>

</div>

    <div id="footer">
  Generated on Thu Jun 20 18:40:54 2013 by
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
  0.8.5 (ruby-1.9.3).
</div>

  </body>
</html>