quickeebooks 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- quickeebooks (0.1.9)
4
+ quickeebooks (0.1.10)
5
5
  activemodel
6
6
  nokogiri
7
7
  oauth
data/HISTORY.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.1.10 (2013-06-06)
2
+
3
+ * Desktop: Begin implementation of enforcing filter ordering. The Intuit API requires that filter elements obey a given order. We don't expect callers to know this order. Thus, callers can give us an array of filters and the Service class will re-order them appropriately. As of this release only `Job` service has `FILTER_ORDER` defined. However going forward its easy to add it to other Service objects as needed.
4
+
1
5
  ## 0.1.9 (2013-06-04)
2
6
 
3
7
  * Desktop: Added PaymentMethod list support. Added Payment create support.
data/README.md CHANGED
@@ -192,25 +192,20 @@ Quickeebooks::Shared::Service::Filter.new(:text, :field => 'FamilyName', :value
192
192
 
193
193
  #### Filtering on a Date/Time
194
194
 
195
- Specify a type of `:datetime` and your desired `:field` than any combination of: `:before` and `:after`
195
+ Specify a type of `:datetime`, your desired `:field` and finally use `:value` to specify the anchoring date.
196
196
 
197
197
  Examples:
198
198
 
199
199
  ```ruby
200
- # find all customers created after 2/15/2011
201
- datetime = Time.mktime(2011, 2, 15)
202
- Quickeebooks::Shared::Service::Filter.new(:datetime, :field => 'CreateTime', :after => datetime)
203
-
204
- # find all customers created before 3/28/2011
205
- datetime = Time.mktime(2011, 2, 28)
206
- Quickeebooks::Shared::Service::Filter.new(:datetime, :field => 'CreateTime', :before => datetime)
207
-
208
- # find all customers created between 1/1/2011 and 2/15/2011
209
- after = Time.mktime(2011, 1, 1)
210
- before = Time.mktime(2011, 2, 15
211
- Quickeebooks::Shared::Service::Filter.new(:datetime, :field => 'CreateTime', :after => after, :before => before)
200
+ # find all customers created between Feb 1 - 28
201
+ # this requires specifying TWO filters, one for the start and another for the end
202
+ filters = []
203
+ filters << Quickeebooks::Shared::Service::Filter.new(:datetime, :field => 'StartCreatedTMS', :value => Time.mktime(2013, 2, 1))
204
+ filters << Quickeebooks::Shared::Service::Filter.new(:datetime, :field => 'EndCreatedTMS', :value => Time.mktime(2013, 2, 28))
212
205
  ```
213
206
 
207
+ You will need to consult the Intuit API docs for each entity type to determine what the filterable fields are, as they change from entity to entity. In the above case `Customer` supports both `StartCreatedTMS` and `EndCreatedTMS`
208
+
214
209
  #### Filtering on a Boolean field
215
210
 
216
211
  Specify a type of `:boolean` and your desired `:field` and a `:value` with either `true` or `false`
@@ -358,14 +353,53 @@ fetch_by_id(object_id)
358
353
  delete(object)
359
354
  ```
360
355
 
361
- Current Services:
356
+ As of `0.1.9` the supported Service operations are:
357
+
358
+ Entity | Create | Update | List | Delete | Fetch by ID | Other
359
+ --- | --- | --- | --- | --- | --- | ---
360
+ **Online:** Account | yes | yes | yes | yes | yes
361
+ **Windows:** Account | no | no | yes | no | no
362
+ **Online:** Bill | yes | yes | yes | yes | yes
363
+ **Windows:** Bill | no | no | no | no | no
364
+ **Online:** Bill Payment | yes | yes | yes | yes | yes
365
+ **Windows:** Bill Payment | no | no | no | no | no
366
+ **Online:** Company Meta Data | no | no | no | no | no | `load`
367
+ **Windows:** Company Meta Data | no | no | no | no | no | `load`
368
+ **Online:** Customer | yes | yes | yes | yes | yes |
369
+ **Windows:** Customer | yes | yes | yes | no | yes |
370
+ **Online:** Employee | yes | yes | yes | yes | yes |
371
+ **Windows:** Employee | no | no | yes | no | no |
372
+ **Online:** Entitlement | n/a | n/a | n/a | n/a | n/a | `status`
373
+ **Windows:** Entitlement | n/a | n/a | n/a | n/a | n/a |
374
+ **Online:** Invoice | yes | yes | yes | yes | yes | `invoice_as_pdf`
375
+ **Windows:** Invoice | yes | no | yes | no | no |
376
+ **Online:** Item | yes | yes | yes | yes | yes |
377
+ **Windows:** Item | yes | no | yes | no | no |
378
+ **Online:** Journal Entry | yes | yes | yes | yes | yes |
379
+ **Windows:** Journal Entry | no | no | no | no | no |
380
+ **Online:** Payment | yes | yes | yes | yes | yes |
381
+ **Windows:** Payment | yes | no | yes | no | yes |
382
+ **Online:** Payment Method | no | no | no | no | no |
383
+ **Windows:** Payment Method | no | no | yes | no | no |
384
+ **Online:** Sales Receipt | yes | yes | yes | yes | yes |
385
+ **Windows:** Sales Receipt | yes | no | yes | no | no |
386
+ **Online:** Sales Rep | no | no | no | no | no |
387
+ **Windows:** Sales Rep | no | no | yes | no | no |
388
+ **Online:** Sales Tax | no | no | no | no | no |
389
+ **Windows:** Sales Tax | no | no | yes | no | no |
390
+ **Online:** Ship Method | no | no | no | no | no |
391
+ **Windows:** Ship Method | no | no | yes | no | no |
392
+ **Online:** Sync Activity | n/a | n/a | n/a | n/a | n/a |
393
+ **Windows:** Sync Activity | no | no | no | no | no | `retrieve`
394
+ **Online:** Sync Status | n/a | n/a | n/a | n/a | n/a |
395
+ **Windows:** Sync Status | no | no | no | no | no | `retrieve`
396
+ **Online:** Time Activity | yes | yes | yes | yes | yes |
397
+ **Windows:** Time Activity | no | no | yes | no | no |
398
+ **Online:** Tracking Class | yes | yes | yes | yes | yes |
399
+ **Windows:** Tracking Class | n/a | n/a | n/a | n/a | n/a |
400
+ **Online:** Vendor | yes | yes | yes | yes | yes |
401
+ **Windows:** Vendor | no | no | no | no | no |
362
402
 
363
- * Account
364
- * Customer
365
- * Invoice
366
- * Item
367
- * Vendor
368
- * Employee
369
403
 
370
404
 
371
405
  ## Invoice Service
data/coverage/index.html CHANGED
@@ -14,27 +14,27 @@
14
14
  <img src="./assets/0.7.1/loading.gif" alt="loading"/>
15
15
  </div>
16
16
  <div id="wrapper" style="display:none;">
17
- <div class="timestamp">Generated <abbr class="timeago" title="2013-06-04T19:09:27+00:00">2013-06-04T19:09:27+00:00</abbr></div>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2013-06-06T19:37:36+00:00">2013-06-06T19:37:36+00:00</abbr></div>
18
18
  <ul class="group_tabs"></ul>
19
19
 
20
20
  <div id="content">
21
21
  <div class="file_list_container" id="AllFiles">
22
22
  <h2>
23
23
  <span class="group_name">All Files</span>
24
- (<span class="covered_percent"><span class="green">92.87%</span></span>
24
+ (<span class="covered_percent"><span class="green">93.34%</span></span>
25
25
  covered at
26
26
  <span class="covered_strength">
27
27
  <span class="green">
28
- 3.16
28
+ 3.17
29
29
  </span>
30
30
  </span> hits/line)
31
31
  </h2>
32
32
  <a name="AllFiles"></a>
33
33
  <div>
34
34
  <b>163</b> files in total.
35
- <b>3550</b> relevant lines.
36
- <span class="green"><b>3297</b> lines covered</span> and
37
- <span class="red"><b>253</b> lines missed </span>
35
+ <b>3557</b> relevant lines.
36
+ <span class="green"><b>3320</b> lines covered</span> and
37
+ <span class="red"><b>237</b> lines missed </span>
38
38
  </div>
39
39
  <table class="file_list">
40
40
  <thead>
@@ -802,12 +802,12 @@
802
802
 
803
803
  <tr>
804
804
  <td class="strong"><a href="#73a67edf53928f497d08592745496f948654bfc2" class="src_link" title="lib/quickeebooks/shared/service/filter.rb">lib/quickeebooks/shared/service/filter.rb</a></td>
805
- <td class="yellow strong">89.16 %</td>
805
+ <td class="green strong">91.57 %</td>
806
806
  <td>156</td>
807
807
  <td>83</td>
808
- <td>74</td>
809
- <td>9</td>
810
- <td>5.0</td>
808
+ <td>76</td>
809
+ <td>7</td>
810
+ <td>5.5</td>
811
811
  </tr>
812
812
 
813
813
  <tr>
@@ -1562,12 +1562,12 @@
1562
1562
 
1563
1563
  <tr>
1564
1564
  <td class="strong"><a href="#2e7e47ae3d8c4ff0e86327e61da22c6fc7e6a6d2" class="src_link" title="lib/quickeebooks/windows/service/job.rb">lib/quickeebooks/windows/service/job.rb</a></td>
1565
- <td class="yellow strong">83.33 %</td>
1566
- <td>23</td>
1567
- <td>12</td>
1568
- <td>10</td>
1565
+ <td class="yellow strong">84.62 %</td>
1566
+ <td>27</td>
1567
+ <td>13</td>
1568
+ <td>11</td>
1569
1569
  <td>2</td>
1570
- <td>0.8</td>
1570
+ <td>1.0</td>
1571
1571
  </tr>
1572
1572
 
1573
1573
  <tr>
@@ -1583,7 +1583,7 @@
1583
1583
  <tr>
1584
1584
  <td class="strong"><a href="#7ea629abf7e9fc45e599f73792c4db53bd7a7c97" class="src_link" title="lib/quickeebooks/windows/service/payment_method.rb">lib/quickeebooks/windows/service/payment_method.rb</a></td>
1585
1585
  <td class="green strong">100.0 %</td>
1586
- <td>24</td>
1586
+ <td>14</td>
1587
1587
  <td>6</td>
1588
1588
  <td>6</td>
1589
1589
  <td>0</td>
@@ -1622,12 +1622,12 @@
1622
1622
 
1623
1623
  <tr>
1624
1624
  <td class="strong"><a href="#de3bdf43b83654d37c2d08665aae14e29a9a7260" class="src_link" title="lib/quickeebooks/windows/service/service_base.rb">lib/quickeebooks/windows/service/service_base.rb</a></td>
1625
- <td class="red strong">78.99 %</td>
1626
- <td>244</td>
1627
- <td>138</td>
1628
- <td>109</td>
1629
- <td>29</td>
1630
- <td>9.0</td>
1625
+ <td class="yellow strong">89.58 %</td>
1626
+ <td>259</td>
1627
+ <td>144</td>
1628
+ <td>129</td>
1629
+ <td>15</td>
1630
+ <td>10.5</td>
1631
1631
  </tr>
1632
1632
 
1633
1633
  <tr>
@@ -17659,11 +17659,11 @@
17659
17659
  <div class="source_table" id="73a67edf53928f497d08592745496f948654bfc2">
17660
17660
  <div class="header">
17661
17661
  <h3>lib/quickeebooks/shared/service/filter.rb</h3>
17662
- <h4><span class="yellow">89.16 %</span> covered</h4>
17662
+ <h4><span class="green">91.57 %</span> covered</h4>
17663
17663
  <div>
17664
17664
  <b>83</b> relevant lines.
17665
- <span class="green"><b>74</b> lines covered</span> and
17666
- <span class="red"><b>9</b> lines missed.</span>
17665
+ <span class="green"><b>76</b> lines covered</span> and
17666
+ <span class="red"><b>7</b> lines missed.</span>
17667
17667
  </div>
17668
17668
  </div>
17669
17669
 
@@ -17778,26 +17778,26 @@
17778
17778
  <code class="ruby"> def initialize(type, *args)</code>
17779
17779
  </li>
17780
17780
 
17781
- <li class="covered" data-hits="31" data-linenumber="19">
17782
- <span class="hits">31</span>
17781
+ <li class="covered" data-hits="37" data-linenumber="19">
17782
+ <span class="hits">37</span>
17783
17783
 
17784
17784
  <code class="ruby"> @type = type</code>
17785
17785
  </li>
17786
17786
 
17787
- <li class="covered" data-hits="31" data-linenumber="20">
17788
- <span class="hits">31</span>
17787
+ <li class="covered" data-hits="37" data-linenumber="20">
17788
+ <span class="hits">37</span>
17789
17789
 
17790
17790
  <code class="ruby"> if args.first.is_a?(Hash)</code>
17791
17791
  </li>
17792
17792
 
17793
- <li class="covered" data-hits="31" data-linenumber="21">
17794
- <span class="hits">31</span>
17793
+ <li class="covered" data-hits="37" data-linenumber="21">
17794
+ <span class="hits">37</span>
17795
17795
 
17796
17796
  <code class="ruby"> args.first.each_pair do |key, value|</code>
17797
17797
  </li>
17798
17798
 
17799
- <li class="covered" data-hits="63" data-linenumber="22">
17800
- <span class="hits">63</span>
17799
+ <li class="covered" data-hits="75" data-linenumber="22">
17800
+ <span class="hits">75</span>
17801
17801
 
17802
17802
  <code class="ruby"> instance_variable_set(&quot;@#{key}&quot;, value)</code>
17803
17803
  </li>
@@ -17934,8 +17934,8 @@
17934
17934
  <code class="ruby"> def to_xml</code>
17935
17935
  </li>
17936
17936
 
17937
- <li class="covered" data-hits="6" data-linenumber="45">
17938
- <span class="hits">6</span>
17937
+ <li class="covered" data-hits="9" data-linenumber="45">
17938
+ <span class="hits">9</span>
17939
17939
 
17940
17940
  <code class="ruby"> case @type.to_sym</code>
17941
17941
  </li>
@@ -17958,8 +17958,8 @@
17958
17958
  <code class="ruby"> when :boolean</code>
17959
17959
  </li>
17960
17960
 
17961
- <li class="covered" data-hits="3" data-linenumber="49">
17962
- <span class="hits">3</span>
17961
+ <li class="covered" data-hits="4" data-linenumber="49">
17962
+ <span class="hits">4</span>
17963
17963
 
17964
17964
  <code class="ruby"> boolean_to_xml</code>
17965
17965
  </li>
@@ -17982,8 +17982,8 @@
17982
17982
  <code class="ruby"> when :datetime</code>
17983
17983
  </li>
17984
17984
 
17985
- <li class="missed" data-hits="0" data-linenumber="53">
17986
-
17985
+ <li class="covered" data-hits="2" data-linenumber="53">
17986
+ <span class="hits">2</span>
17987
17987
 
17988
17988
  <code class="ruby"> datetime_to_xml</code>
17989
17989
  </li>
@@ -18420,8 +18420,8 @@
18420
18420
  <code class="ruby"> def boolean_to_xml</code>
18421
18421
  </li>
18422
18422
 
18423
- <li class="covered" data-hits="3" data-linenumber="126">
18424
- <span class="hits">3</span>
18423
+ <li class="covered" data-hits="4" data-linenumber="126">
18424
+ <span class="hits">4</span>
18425
18425
 
18426
18426
  <code class="ruby"> &quot;&lt;#{@field}&gt;#{CGI::escapeHTML(@value.to_s)}&lt;/#{@field}&gt;&quot;</code>
18427
18427
  </li>
@@ -18492,8 +18492,8 @@
18492
18492
  <code class="ruby"> def datetime_to_xml</code>
18493
18493
  </li>
18494
18494
 
18495
- <li class="missed" data-hits="0" data-linenumber="138">
18496
-
18495
+ <li class="covered" data-hits="2" data-linenumber="138">
18496
+ <span class="hits">2</span>
18497
18497
 
18498
18498
  <code class="ruby"> &quot;&lt;#{@field}&gt;#{formatted_datetime(@value)}&lt;/#{@field}&gt;&quot;</code>
18499
18499
  </li>
@@ -18540,8 +18540,8 @@
18540
18540
  <code class="ruby"> def formatted_datetime(datetime)</code>
18541
18541
  </li>
18542
18542
 
18543
- <li class="covered" data-hits="11" data-linenumber="146">
18544
- <span class="hits">11</span>
18543
+ <li class="covered" data-hits="13" data-linenumber="146">
18544
+ <span class="hits">13</span>
18545
18545
 
18546
18546
  <code class="ruby"> datetime.strftime(DATE_TIME_FORMAT)</code>
18547
18547
  </li>
@@ -36055,10 +36055,10 @@
36055
36055
  <div class="source_table" id="2e7e47ae3d8c4ff0e86327e61da22c6fc7e6a6d2">
36056
36056
  <div class="header">
36057
36057
  <h3>lib/quickeebooks/windows/service/job.rb</h3>
36058
- <h4><span class="yellow">83.33 %</span> covered</h4>
36058
+ <h4><span class="yellow">84.62 %</span> covered</h4>
36059
36059
  <div>
36060
- <b>12</b> relevant lines.
36061
- <span class="green"><b>10</b> lines covered</span> and
36060
+ <b>13</b> relevant lines.
36061
+ <span class="green"><b>11</b> lines covered</span> and
36062
36062
  <span class="red"><b>2</b> lines missed.</span>
36063
36063
  </div>
36064
36064
  </div>
@@ -36111,94 +36111,118 @@
36111
36111
  <li class="never" data-hits="" data-linenumber="8">
36112
36112
 
36113
36113
 
36114
- <code class="ruby"></code>
36114
+ <code class="ruby"> </code>
36115
36115
  </li>
36116
36116
 
36117
36117
  <li class="covered" data-hits="1" data-linenumber="9">
36118
36118
  <span class="hits">1</span>
36119
36119
 
36120
- <code class="ruby"> def list(filters = [], page = 1, per_page = 20, sort = nil, options = {})</code>
36120
+ <code class="ruby"> FILTER_ORDER = %w{OfferingId IteratorId StartPage ChunkSize IncludeTagElements CDCAsOf SynchronizedFilter</code>
36121
36121
  </li>
36122
36122
 
36123
- <li class="covered" data-hits="1" data-linenumber="10">
36123
+ <li class="never" data-hits="" data-linenumber="10">
36124
+
36125
+
36126
+ <code class="ruby"> DraftFilter ObjectStateEnable CustomFieldEnable CustomFieldQueryParam CustomFieldFilter CustomFieldDefinitionSet</code>
36127
+ </li>
36128
+
36129
+ <li class="never" data-hits="" data-linenumber="11">
36130
+
36131
+
36132
+ <code class="ruby"> ListIdSet StartCreatedTMS EndCreatedTMS StartModifiedTMS EndModifiedTMS CustomerIdSet IncludeFinancialIndicator}</code>
36133
+ </li>
36134
+
36135
+ <li class="never" data-hits="" data-linenumber="12">
36136
+
36137
+
36138
+ <code class="ruby"> </code>
36139
+ </li>
36140
+
36141
+ <li class="covered" data-hits="1" data-linenumber="13">
36124
36142
  <span class="hits">1</span>
36125
36143
 
36144
+ <code class="ruby"> def list(filters = [], page = 1, per_page = 20, sort = nil, options = {})</code>
36145
+ </li>
36146
+
36147
+ <li class="covered" data-hits="2" data-linenumber="14">
36148
+ <span class="hits">2</span>
36149
+
36126
36150
  <code class="ruby"> filters &lt;&lt; Quickeebooks::Shared::Service::Filter.new(:boolean, :field =&gt; 'CustomFieldEnable', :value =&gt; true)</code>
36127
36151
  </li>
36128
36152
 
36129
- <li class="covered" data-hits="1" data-linenumber="11">
36130
- <span class="hits">1</span>
36153
+ <li class="covered" data-hits="2" data-linenumber="15">
36154
+ <span class="hits">2</span>
36131
36155
 
36132
36156
  <code class="ruby"> fetch_collection(Quickeebooks::Windows::Model::Job, nil, filters, page, per_page, sort, options)</code>
36133
36157
  </li>
36134
36158
 
36135
- <li class="never" data-hits="" data-linenumber="12">
36159
+ <li class="never" data-hits="" data-linenumber="16">
36136
36160
 
36137
36161
 
36138
36162
  <code class="ruby"> end</code>
36139
36163
  </li>
36140
36164
 
36141
- <li class="never" data-hits="" data-linenumber="13">
36165
+ <li class="never" data-hits="" data-linenumber="17">
36142
36166
 
36143
36167
 
36144
36168
  <code class="ruby"></code>
36145
36169
  </li>
36146
36170
 
36147
- <li class="covered" data-hits="1" data-linenumber="14">
36171
+ <li class="covered" data-hits="1" data-linenumber="18">
36148
36172
  <span class="hits">1</span>
36149
36173
 
36150
36174
  <code class="ruby"> def fetch_by_id(id, idDomain = 'QB', options = {})</code>
36151
36175
  </li>
36152
36176
 
36153
- <li class="missed" data-hits="0" data-linenumber="15">
36177
+ <li class="missed" data-hits="0" data-linenumber="19">
36154
36178
 
36155
36179
 
36156
36180
  <code class="ruby"> url = &quot;#{url_for_resource(Quickeebooks::Windows::Model::Job::REST_RESOURCE)}/#{id}&quot;</code>
36157
36181
  </li>
36158
36182
 
36159
- <li class="missed" data-hits="0" data-linenumber="16">
36183
+ <li class="missed" data-hits="0" data-linenumber="20">
36160
36184
 
36161
36185
 
36162
36186
  <code class="ruby"> fetch_object(Quickeebooks::Windows::Model::Job, url, {:idDomain =&gt; idDomain})</code>
36163
36187
  </li>
36164
36188
 
36165
- <li class="never" data-hits="" data-linenumber="17">
36189
+ <li class="never" data-hits="" data-linenumber="21">
36166
36190
 
36167
36191
 
36168
36192
  <code class="ruby"> end</code>
36169
36193
  </li>
36170
36194
 
36171
- <li class="never" data-hits="" data-linenumber="18">
36195
+ <li class="never" data-hits="" data-linenumber="22">
36172
36196
 
36173
36197
 
36174
- <code class="ruby"></code>
36198
+ <code class="ruby"> </code>
36175
36199
  </li>
36176
36200
 
36177
- <li class="never" data-hits="" data-linenumber="19">
36201
+ <li class="never" data-hits="" data-linenumber="23">
36178
36202
 
36179
36203
 
36180
36204
  <code class="ruby"> end</code>
36181
36205
  </li>
36182
36206
 
36183
- <li class="never" data-hits="" data-linenumber="20">
36207
+ <li class="never" data-hits="" data-linenumber="24">
36184
36208
 
36185
36209
 
36186
36210
  <code class="ruby"> end</code>
36187
36211
  </li>
36188
36212
 
36189
- <li class="never" data-hits="" data-linenumber="21">
36213
+ <li class="never" data-hits="" data-linenumber="25">
36190
36214
 
36191
36215
 
36192
36216
  <code class="ruby"> </code>
36193
36217
  </li>
36194
36218
 
36195
- <li class="never" data-hits="" data-linenumber="22">
36219
+ <li class="never" data-hits="" data-linenumber="26">
36196
36220
 
36197
36221
 
36198
36222
  <code class="ruby"> end</code>
36199
36223
  </li>
36200
36224
 
36201
- <li class="never" data-hits="" data-linenumber="23">
36225
+ <li class="never" data-hits="" data-linenumber="27">
36202
36226
 
36203
36227
 
36204
36228
  <code class="ruby">end</code>
@@ -36480,145 +36504,85 @@
36480
36504
  <pre>
36481
36505
  <ol>
36482
36506
 
36483
- <li class="never" data-hits="" data-linenumber="1">
36484
-
36485
-
36486
- <code class="ruby"># require 'quickeebooks/windows/service/service_base'</code>
36487
- </li>
36488
-
36489
- <li class="never" data-hits="" data-linenumber="2">
36490
-
36491
-
36492
- <code class="ruby"># require 'quickeebooks/windows/model/payment'</code>
36493
- </li>
36494
-
36495
- <li class="never" data-hits="" data-linenumber="3">
36496
-
36497
-
36498
- <code class="ruby"># require 'quickeebooks/windows/model/payment_method'</code>
36499
- </li>
36500
-
36501
- <li class="never" data-hits="" data-linenumber="4">
36502
-
36503
-
36504
- <code class="ruby"># require 'quickeebooks/windows/model/payment_line_item'</code>
36505
- </li>
36506
-
36507
- <li class="never" data-hits="" data-linenumber="5">
36508
-
36509
-
36510
- <code class="ruby"># require 'quickeebooks/windows/model/payment_detail'</code>
36511
- </li>
36512
-
36513
- <li class="never" data-hits="" data-linenumber="6">
36514
-
36515
-
36516
- <code class="ruby"># require 'quickeebooks/windows/model/credit_card'</code>
36517
- </li>
36518
-
36519
- <li class="never" data-hits="" data-linenumber="7">
36520
-
36521
-
36522
- <code class="ruby"># require 'quickeebooks/windows/model/credit_charge_info'</code>
36523
- </li>
36524
-
36525
- <li class="never" data-hits="" data-linenumber="8">
36526
-
36527
-
36528
- <code class="ruby"># require 'quickeebooks/windows/model/credit_charge_response'</code>
36529
- </li>
36530
-
36531
- <li class="never" data-hits="" data-linenumber="9">
36532
-
36533
-
36534
- <code class="ruby"># require 'nokogiri'</code>
36535
- </li>
36536
-
36537
- <li class="never" data-hits="" data-linenumber="10">
36538
-
36539
-
36540
- <code class="ruby"></code>
36541
- </li>
36542
-
36543
- <li class="covered" data-hits="1" data-linenumber="11">
36507
+ <li class="covered" data-hits="1" data-linenumber="1">
36544
36508
  <span class="hits">1</span>
36545
36509
 
36546
36510
  <code class="ruby">module Quickeebooks</code>
36547
36511
  </li>
36548
36512
 
36549
- <li class="covered" data-hits="1" data-linenumber="12">
36513
+ <li class="covered" data-hits="1" data-linenumber="2">
36550
36514
  <span class="hits">1</span>
36551
36515
 
36552
36516
  <code class="ruby"> module Windows</code>
36553
36517
  </li>
36554
36518
 
36555
- <li class="covered" data-hits="1" data-linenumber="13">
36519
+ <li class="covered" data-hits="1" data-linenumber="3">
36556
36520
  <span class="hits">1</span>
36557
36521
 
36558
36522
  <code class="ruby"> module Service</code>
36559
36523
  </li>
36560
36524
 
36561
- <li class="covered" data-hits="1" data-linenumber="14">
36525
+ <li class="covered" data-hits="1" data-linenumber="4">
36562
36526
  <span class="hits">1</span>
36563
36527
 
36564
36528
  <code class="ruby"> class PaymentMethod &lt; ServiceBase</code>
36565
36529
  </li>
36566
36530
 
36567
- <li class="never" data-hits="" data-linenumber="15">
36531
+ <li class="never" data-hits="" data-linenumber="5">
36568
36532
 
36569
36533
 
36570
36534
  <code class="ruby"></code>
36571
36535
  </li>
36572
36536
 
36573
- <li class="covered" data-hits="1" data-linenumber="16">
36537
+ <li class="covered" data-hits="1" data-linenumber="6">
36574
36538
  <span class="hits">1</span>
36575
36539
 
36576
36540
  <code class="ruby"> def list(filters = [], page = 1, per_page = 20, sort = nil, options = {})</code>
36577
36541
  </li>
36578
36542
 
36579
- <li class="covered" data-hits="1" data-linenumber="17">
36543
+ <li class="covered" data-hits="1" data-linenumber="7">
36580
36544
  <span class="hits">1</span>
36581
36545
 
36582
36546
  <code class="ruby"> fetch_collection(Quickeebooks::Windows::Model::PaymentMethod, nil, filters, page, per_page, sort, options)</code>
36583
36547
  </li>
36584
36548
 
36585
- <li class="never" data-hits="" data-linenumber="18">
36549
+ <li class="never" data-hits="" data-linenumber="8">
36586
36550
 
36587
36551
 
36588
36552
  <code class="ruby"> end</code>
36589
36553
  </li>
36590
36554
 
36591
- <li class="never" data-hits="" data-linenumber="19">
36555
+ <li class="never" data-hits="" data-linenumber="9">
36592
36556
 
36593
36557
 
36594
36558
  <code class="ruby"> </code>
36595
36559
  </li>
36596
36560
 
36597
- <li class="never" data-hits="" data-linenumber="20">
36561
+ <li class="never" data-hits="" data-linenumber="10">
36598
36562
 
36599
36563
 
36600
36564
  <code class="ruby"> </code>
36601
36565
  </li>
36602
36566
 
36603
- <li class="never" data-hits="" data-linenumber="21">
36567
+ <li class="never" data-hits="" data-linenumber="11">
36604
36568
 
36605
36569
 
36606
36570
  <code class="ruby"> end</code>
36607
36571
  </li>
36608
36572
 
36609
- <li class="never" data-hits="" data-linenumber="22">
36573
+ <li class="never" data-hits="" data-linenumber="12">
36610
36574
 
36611
36575
 
36612
36576
  <code class="ruby"> end</code>
36613
36577
  </li>
36614
36578
 
36615
- <li class="never" data-hits="" data-linenumber="23">
36579
+ <li class="never" data-hits="" data-linenumber="13">
36616
36580
 
36617
36581
 
36618
36582
  <code class="ruby"> end</code>
36619
36583
  </li>
36620
36584
 
36621
- <li class="never" data-hits="" data-linenumber="24">
36585
+ <li class="never" data-hits="" data-linenumber="14">
36622
36586
 
36623
36587
 
36624
36588
  <code class="ruby">end</code>
@@ -37069,11 +37033,11 @@
37069
37033
  <div class="source_table" id="de3bdf43b83654d37c2d08665aae14e29a9a7260">
37070
37034
  <div class="header">
37071
37035
  <h3>lib/quickeebooks/windows/service/service_base.rb</h3>
37072
- <h4><span class="red">78.99 %</span> covered</h4>
37036
+ <h4><span class="yellow">89.58 %</span> covered</h4>
37073
37037
  <div>
37074
- <b>138</b> relevant lines.
37075
- <span class="green"><b>109</b> lines covered</span> and
37076
- <span class="red"><b>29</b> lines missed.</span>
37038
+ <b>144</b> relevant lines.
37039
+ <span class="green"><b>129</b> lines covered</span> and
37040
+ <span class="red"><b>15</b> lines missed.</span>
37077
37041
  </div>
37078
37042
  </div>
37079
37043
 
@@ -37128,8 +37092,8 @@
37128
37092
  <code class="ruby"> def initialize(msg)</code>
37129
37093
  </li>
37130
37094
 
37131
- <li class="covered" data-hits="1" data-linenumber="9">
37132
- <span class="hits">1</span>
37095
+ <li class="covered" data-hits="2" data-linenumber="9">
37096
+ <span class="hits">2</span>
37133
37097
 
37134
37098
  <code class="ruby"> super(msg)</code>
37135
37099
  </li>
@@ -37248,8 +37212,8 @@
37248
37212
  <code class="ruby"> def initialize(oauth_access_token = nil, realm_id = nil)</code>
37249
37213
  </li>
37250
37214
 
37251
- <li class="covered" data-hits="28" data-linenumber="29">
37252
- <span class="hits">28</span>
37215
+ <li class="covered" data-hits="30" data-linenumber="29">
37216
+ <span class="hits">30</span>
37253
37217
 
37254
37218
  <code class="ruby"> @base_uri = 'https://services.intuit.com/sb'</code>
37255
37219
  </li>
@@ -37260,8 +37224,8 @@
37260
37224
  <code class="ruby"></code>
37261
37225
  </li>
37262
37226
 
37263
- <li class="covered" data-hits="28" data-linenumber="31">
37264
- <span class="hits">28</span>
37227
+ <li class="covered" data-hits="30" data-linenumber="31">
37228
+ <span class="hits">30</span>
37265
37229
 
37266
37230
  <code class="ruby"> if !oauth_access_token.nil? &amp;&amp; !realm_id.nil?</code>
37267
37231
  </li>
@@ -37326,8 +37290,8 @@
37326
37290
  <code class="ruby"> def access_token=(token)</code>
37327
37291
  </li>
37328
37292
 
37329
- <li class="covered" data-hits="26" data-linenumber="42">
37330
- <span class="hits">26</span>
37293
+ <li class="covered" data-hits="27" data-linenumber="42">
37294
+ <span class="hits">27</span>
37331
37295
 
37332
37296
  <code class="ruby"> @oauth = token</code>
37333
37297
  </li>
@@ -37350,8 +37314,8 @@
37350
37314
  <code class="ruby"> def realm_id=(realm_id)</code>
37351
37315
  </li>
37352
37316
 
37353
- <li class="covered" data-hits="24" data-linenumber="46">
37354
- <span class="hits">24</span>
37317
+ <li class="covered" data-hits="25" data-linenumber="46">
37318
+ <span class="hits">25</span>
37355
37319
 
37356
37320
  <code class="ruby"> @realm_id = realm_id</code>
37357
37321
  </li>
@@ -37374,8 +37338,8 @@
37374
37338
  <code class="ruby"> def url_for_resource(resource)</code>
37375
37339
  </li>
37376
37340
 
37377
- <li class="covered" data-hits="50" data-linenumber="50">
37378
- <span class="hits">50</span>
37341
+ <li class="covered" data-hits="52" data-linenumber="50">
37342
+ <span class="hits">52</span>
37379
37343
 
37380
37344
  <code class="ruby"> url_for_base(resource)</code>
37381
37345
  </li>
@@ -37398,8 +37362,8 @@
37398
37362
  <code class="ruby"> def url_for_base(raw)</code>
37399
37363
  </li>
37400
37364
 
37401
- <li class="covered" data-hits="50" data-linenumber="54">
37402
- <span class="hits">50</span>
37365
+ <li class="covered" data-hits="52" data-linenumber="54">
37366
+ <span class="hits">52</span>
37403
37367
 
37404
37368
  <code class="ruby"> &quot;#{@base_uri}/#{raw}/v2/#{@realm_id}&quot;</code>
37405
37369
  </li>
@@ -37416,1129 +37380,1219 @@
37416
37380
  <code class="ruby"></code>
37417
37381
  </li>
37418
37382
 
37419
- <li class="covered" data-hits="1" data-linenumber="57">
37383
+ <li class="never" data-hits="" data-linenumber="57">
37384
+
37385
+
37386
+ <code class="ruby"> # Intuit API requires that filters obey a specific ordering</code>
37387
+ </li>
37388
+
37389
+ <li class="never" data-hits="" data-linenumber="58">
37390
+
37391
+
37392
+ <code class="ruby"> # Each Service implementation should have a +FILTER_ORDER+ Array constant</code>
37393
+ </li>
37394
+
37395
+ <li class="never" data-hits="" data-linenumber="59">
37396
+
37397
+
37398
+ <code class="ruby"> # defined. If this is defined than any filters given will be re-ordered</code>
37399
+ </li>
37400
+
37401
+ <li class="never" data-hits="" data-linenumber="60">
37402
+
37403
+
37404
+ <code class="ruby"> # to match the required ordering</code>
37405
+ </li>
37406
+
37407
+ <li class="covered" data-hits="1" data-linenumber="61">
37408
+ <span class="hits">1</span>
37409
+
37410
+ <code class="ruby"> def enforce_filter_order(filters)</code>
37411
+ </li>
37412
+
37413
+ <li class="covered" data-hits="4" data-linenumber="62">
37414
+ <span class="hits">4</span>
37415
+
37416
+ <code class="ruby"> if self.class.const_defined?(:FILTER_ORDER)</code>
37417
+ </li>
37418
+
37419
+ <li class="covered" data-hits="3" data-linenumber="63">
37420
+ <span class="hits">3</span>
37421
+
37422
+ <code class="ruby"> self.class.const_get(:FILTER_ORDER).map do |field|</code>
37423
+ </li>
37424
+
37425
+ <li class="covered" data-hits="194" data-linenumber="64">
37426
+ <span class="hits">194</span>
37427
+
37428
+ <code class="ruby"> filters.detect { |f| f.field.to_s == field }</code>
37429
+ </li>
37430
+
37431
+ <li class="never" data-hits="" data-linenumber="65">
37432
+
37433
+
37434
+ <code class="ruby"> end.compact</code>
37435
+ </li>
37436
+
37437
+ <li class="never" data-hits="" data-linenumber="66">
37438
+
37439
+
37440
+ <code class="ruby"> else</code>
37441
+ </li>
37442
+
37443
+ <li class="covered" data-hits="1" data-linenumber="67">
37444
+ <span class="hits">1</span>
37445
+
37446
+ <code class="ruby"> filters</code>
37447
+ </li>
37448
+
37449
+ <li class="never" data-hits="" data-linenumber="68">
37450
+
37451
+
37452
+ <code class="ruby"> end</code>
37453
+ </li>
37454
+
37455
+ <li class="never" data-hits="" data-linenumber="69">
37456
+
37457
+
37458
+ <code class="ruby"> end</code>
37459
+ </li>
37460
+
37461
+ <li class="never" data-hits="" data-linenumber="70">
37462
+
37463
+
37464
+ <code class="ruby"></code>
37465
+ </li>
37466
+
37467
+ <li class="covered" data-hits="1" data-linenumber="71">
37420
37468
  <span class="hits">1</span>
37421
37469
 
37422
37470
  <code class="ruby"> private</code>
37423
37471
  </li>
37424
37472
 
37425
- <li class="never" data-hits="" data-linenumber="58">
37473
+ <li class="never" data-hits="" data-linenumber="72">
37426
37474
 
37427
37475
 
37428
37476
  <code class="ruby"></code>
37429
37477
  </li>
37430
37478
 
37431
- <li class="covered" data-hits="1" data-linenumber="59">
37479
+ <li class="covered" data-hits="1" data-linenumber="73">
37432
37480
  <span class="hits">1</span>
37433
37481
 
37434
37482
  <code class="ruby"> def parse_xml(xml)</code>
37435
37483
  </li>
37436
37484
 
37437
- <li class="covered" data-hits="25" data-linenumber="60">
37438
- <span class="hits">25</span>
37485
+ <li class="covered" data-hits="26" data-linenumber="74">
37486
+ <span class="hits">26</span>
37439
37487
 
37440
37488
  <code class="ruby"> @last_response_xml =</code>
37441
37489
  </li>
37442
37490
 
37443
- <li class="never" data-hits="" data-linenumber="61">
37491
+ <li class="never" data-hits="" data-linenumber="75">
37444
37492
 
37445
37493
 
37446
37494
  <code class="ruby"> begin</code>
37447
37495
  </li>
37448
37496
 
37449
- <li class="covered" data-hits="25" data-linenumber="62">
37450
- <span class="hits">25</span>
37497
+ <li class="covered" data-hits="26" data-linenumber="76">
37498
+ <span class="hits">26</span>
37451
37499
 
37452
37500
  <code class="ruby"> x = Nokogiri::XML(xml)</code>
37453
37501
  </li>
37454
37502
 
37455
- <li class="never" data-hits="" data-linenumber="63">
37503
+ <li class="never" data-hits="" data-linenumber="77">
37456
37504
 
37457
37505
 
37458
37506
  <code class="ruby"> #x.document.remove_namespaces!</code>
37459
37507
  </li>
37460
37508
 
37461
- <li class="covered" data-hits="25" data-linenumber="64">
37462
- <span class="hits">25</span>
37509
+ <li class="covered" data-hits="26" data-linenumber="78">
37510
+ <span class="hits">26</span>
37463
37511
 
37464
37512
  <code class="ruby"> x</code>
37465
37513
  </li>
37466
37514
 
37467
- <li class="never" data-hits="" data-linenumber="65">
37515
+ <li class="never" data-hits="" data-linenumber="79">
37468
37516
 
37469
37517
 
37470
37518
  <code class="ruby"> end</code>
37471
37519
  </li>
37472
37520
 
37473
- <li class="never" data-hits="" data-linenumber="66">
37521
+ <li class="never" data-hits="" data-linenumber="80">
37474
37522
 
37475
37523
 
37476
37524
  <code class="ruby"> end</code>
37477
37525
  </li>
37478
37526
 
37479
- <li class="never" data-hits="" data-linenumber="67">
37527
+ <li class="never" data-hits="" data-linenumber="81">
37480
37528
 
37481
37529
 
37482
37530
  <code class="ruby"></code>
37483
37531
  </li>
37484
37532
 
37485
- <li class="covered" data-hits="1" data-linenumber="68">
37533
+ <li class="covered" data-hits="1" data-linenumber="82">
37486
37534
  <span class="hits">1</span>
37487
37535
 
37488
37536
  <code class="ruby"> def valid_xml_document(xml)</code>
37489
37537
  </li>
37490
37538
 
37491
- <li class="missed" data-hits="0" data-linenumber="69">
37539
+ <li class="missed" data-hits="0" data-linenumber="83">
37492
37540
 
37493
37541
 
37494
37542
  <code class="ruby"> %Q{&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;\n#{xml.strip}}</code>
37495
37543
  </li>
37496
37544
 
37497
- <li class="never" data-hits="" data-linenumber="70">
37545
+ <li class="never" data-hits="" data-linenumber="84">
37498
37546
 
37499
37547
 
37500
37548
  <code class="ruby"> end</code>
37501
37549
  </li>
37502
37550
 
37503
- <li class="never" data-hits="" data-linenumber="71">
37551
+ <li class="never" data-hits="" data-linenumber="85">
37504
37552
 
37505
37553
 
37506
37554
  <code class="ruby"></code>
37507
37555
  </li>
37508
37556
 
37509
- <li class="never" data-hits="" data-linenumber="72">
37557
+ <li class="never" data-hits="" data-linenumber="86">
37510
37558
 
37511
37559
 
37512
37560
  <code class="ruby"> # In QBD a single object response is the same as a collection response except</code>
37513
37561
  </li>
37514
37562
 
37515
- <li class="never" data-hits="" data-linenumber="73">
37563
+ <li class="never" data-hits="" data-linenumber="87">
37516
37564
 
37517
37565
 
37518
37566
  <code class="ruby"> # it just has a single main element</code>
37519
37567
  </li>
37520
37568
 
37521
- <li class="covered" data-hits="1" data-linenumber="74">
37569
+ <li class="covered" data-hits="1" data-linenumber="88">
37522
37570
  <span class="hits">1</span>
37523
37571
 
37524
37572
  <code class="ruby"> def fetch_object(model, url, params = {}, options = {})</code>
37525
37573
  </li>
37526
37574
 
37527
- <li class="covered" data-hits="2" data-linenumber="75">
37575
+ <li class="covered" data-hits="2" data-linenumber="89">
37528
37576
  <span class="hits">2</span>
37529
37577
 
37530
37578
  <code class="ruby"> raise ArgumentError, &quot;missing model to instantiate&quot; if model.nil?</code>
37531
37579
  </li>
37532
37580
 
37533
- <li class="covered" data-hits="2" data-linenumber="76">
37581
+ <li class="covered" data-hits="2" data-linenumber="90">
37534
37582
  <span class="hits">2</span>
37535
37583
 
37536
37584
  <code class="ruby"> response = do_http_get(url, params, {'Content-Type' =&gt; 'text/xml'})</code>
37537
37585
  </li>
37538
37586
 
37539
- <li class="covered" data-hits="2" data-linenumber="77">
37587
+ <li class="covered" data-hits="2" data-linenumber="91">
37540
37588
  <span class="hits">2</span>
37541
37589
 
37542
37590
  <code class="ruby"> collection = parse_collection(response, model)</code>
37543
37591
  </li>
37544
37592
 
37545
- <li class="covered" data-hits="2" data-linenumber="78">
37593
+ <li class="covered" data-hits="2" data-linenumber="92">
37546
37594
  <span class="hits">2</span>
37547
37595
 
37548
37596
  <code class="ruby"> if collection.is_a?(Quickeebooks::Collection)</code>
37549
37597
  </li>
37550
37598
 
37551
- <li class="covered" data-hits="2" data-linenumber="79">
37599
+ <li class="covered" data-hits="2" data-linenumber="93">
37552
37600
  <span class="hits">2</span>
37553
37601
 
37554
37602
  <code class="ruby"> collection.entries.first</code>
37555
37603
  </li>
37556
37604
 
37557
- <li class="never" data-hits="" data-linenumber="80">
37605
+ <li class="never" data-hits="" data-linenumber="94">
37558
37606
 
37559
37607
 
37560
37608
  <code class="ruby"> else</code>
37561
37609
  </li>
37562
37610
 
37563
- <li class="never" data-hits="" data-linenumber="81">
37611
+ <li class="never" data-hits="" data-linenumber="95">
37564
37612
 
37565
37613
 
37566
37614
  <code class="ruby"> nil</code>
37567
37615
  </li>
37568
37616
 
37569
- <li class="never" data-hits="" data-linenumber="82">
37617
+ <li class="never" data-hits="" data-linenumber="96">
37570
37618
 
37571
37619
 
37572
37620
  <code class="ruby"> end</code>
37573
37621
  </li>
37574
37622
 
37575
- <li class="never" data-hits="" data-linenumber="83">
37623
+ <li class="never" data-hits="" data-linenumber="97">
37576
37624
 
37577
37625
 
37578
37626
  <code class="ruby"> end</code>
37579
37627
  </li>
37580
37628
 
37581
- <li class="never" data-hits="" data-linenumber="84">
37629
+ <li class="never" data-hits="" data-linenumber="98">
37582
37630
 
37583
37631
 
37584
37632
  <code class="ruby"></code>
37585
37633
  </li>
37586
37634
 
37587
- <li class="covered" data-hits="1" data-linenumber="85">
37635
+ <li class="covered" data-hits="1" data-linenumber="99">
37588
37636
  <span class="hits">1</span>
37589
37637
 
37590
37638
  <code class="ruby"> def fetch_collection(model, custom_field_query = nil, filters = [], page = 1, per_page = 20, sort = nil, options ={})</code>
37591
37639
  </li>
37592
37640
 
37593
- <li class="covered" data-hits="17" data-linenumber="86">
37594
- <span class="hits">17</span>
37641
+ <li class="covered" data-hits="18" data-linenumber="100">
37642
+ <span class="hits">18</span>
37595
37643
 
37596
37644
  <code class="ruby"> raise ArgumentError, &quot;missing model to instantiate&quot; if model.nil?</code>
37597
37645
  </li>
37598
37646
 
37599
- <li class="never" data-hits="" data-linenumber="87">
37647
+ <li class="never" data-hits="" data-linenumber="101">
37600
37648
 
37601
37649
 
37602
37650
  <code class="ruby"></code>
37603
37651
  </li>
37604
37652
 
37605
- <li class="covered" data-hits="17" data-linenumber="88">
37606
- <span class="hits">17</span>
37653
+ <li class="covered" data-hits="18" data-linenumber="102">
37654
+ <span class="hits">18</span>
37607
37655
 
37608
37656
  <code class="ruby"> post_body_tags = []</code>
37609
37657
  </li>
37610
37658
 
37611
- <li class="never" data-hits="" data-linenumber="89">
37659
+ <li class="never" data-hits="" data-linenumber="103">
37612
37660
 
37613
37661
 
37614
37662
  <code class="ruby"></code>
37615
37663
  </li>
37616
37664
 
37617
- <li class="never" data-hits="" data-linenumber="90">
37665
+ <li class="never" data-hits="" data-linenumber="104">
37618
37666
 
37619
37667
 
37620
37668
  <code class="ruby"> # pagination parameters must come first</code>
37621
37669
  </li>
37622
37670
 
37623
- <li class="covered" data-hits="17" data-linenumber="91">
37624
- <span class="hits">17</span>
37671
+ <li class="covered" data-hits="18" data-linenumber="105">
37672
+ <span class="hits">18</span>
37625
37673
 
37626
37674
  <code class="ruby"> post_body_tags &lt;&lt; &quot;&lt;StartPage&gt;#{page}&lt;/StartPage&gt;&quot;</code>
37627
37675
  </li>
37628
37676
 
37629
- <li class="covered" data-hits="17" data-linenumber="92">
37630
- <span class="hits">17</span>
37677
+ <li class="covered" data-hits="18" data-linenumber="106">
37678
+ <span class="hits">18</span>
37631
37679
 
37632
37680
  <code class="ruby"> post_body_tags &lt;&lt; &quot;&lt;ChunkSize&gt;#{per_page}&lt;/ChunkSize&gt;&quot;</code>
37633
37681
  </li>
37634
37682
 
37635
- <li class="never" data-hits="" data-linenumber="93">
37683
+ <li class="never" data-hits="" data-linenumber="107">
37636
37684
 
37637
37685
 
37638
37686
  <code class="ruby"></code>
37639
37687
  </li>
37640
37688
 
37641
- <li class="never" data-hits="" data-linenumber="94">
37689
+ <li class="never" data-hits="" data-linenumber="108">
37642
37690
 
37643
37691
 
37644
37692
  <code class="ruby"> # ... followed by any filters</code>
37645
37693
  </li>
37646
37694
 
37647
- <li class="covered" data-hits="17" data-linenumber="95">
37648
- <span class="hits">17</span>
37695
+ <li class="covered" data-hits="18" data-linenumber="109">
37696
+ <span class="hits">18</span>
37649
37697
 
37650
37698
  <code class="ruby"> if filters.is_a?(Array) &amp;&amp; filters.length &gt; 0</code>
37651
37699
  </li>
37652
37700
 
37653
- <li class="covered" data-hits="4" data-linenumber="96">
37654
- <span class="hits">4</span>
37701
+ <li class="covered" data-hits="3" data-linenumber="110">
37702
+ <span class="hits">3</span>
37703
+
37704
+ <code class="ruby"> filters = enforce_filter_order(filters).compact</code>
37705
+ </li>
37706
+
37707
+ <li class="covered" data-hits="8" data-linenumber="111">
37708
+ <span class="hits">8</span>
37655
37709
 
37656
37710
  <code class="ruby"> post_body_tags &lt;&lt; filters.collect { |f| f.to_xml }</code>
37657
37711
  </li>
37658
37712
 
37659
- <li class="covered" data-hits="2" data-linenumber="97">
37660
- <span class="hits">2</span>
37713
+ <li class="covered" data-hits="3" data-linenumber="112">
37714
+ <span class="hits">3</span>
37661
37715
 
37662
37716
  <code class="ruby"> post_body_tags.flatten!</code>
37663
37717
  </li>
37664
37718
 
37665
- <li class="never" data-hits="" data-linenumber="98">
37719
+ <li class="never" data-hits="" data-linenumber="113">
37666
37720
 
37667
37721
 
37668
37722
  <code class="ruby"> end</code>
37669
37723
  </li>
37670
37724
 
37671
- <li class="never" data-hits="" data-linenumber="99">
37725
+ <li class="never" data-hits="" data-linenumber="114">
37672
37726
 
37673
37727
 
37674
37728
  <code class="ruby"></code>
37675
37729
  </li>
37676
37730
 
37677
- <li class="covered" data-hits="17" data-linenumber="100">
37678
- <span class="hits">17</span>
37731
+ <li class="covered" data-hits="18" data-linenumber="115">
37732
+ <span class="hits">18</span>
37679
37733
 
37680
37734
  <code class="ruby"> if sort</code>
37681
37735
  </li>
37682
37736
 
37683
- <li class="covered" data-hits="1" data-linenumber="101">
37737
+ <li class="covered" data-hits="1" data-linenumber="116">
37684
37738
  <span class="hits">1</span>
37685
37739
 
37686
37740
  <code class="ruby"> post_body_tags &lt;&lt; sort.to_xml</code>
37687
37741
  </li>
37688
37742
 
37689
- <li class="never" data-hits="" data-linenumber="102">
37743
+ <li class="never" data-hits="" data-linenumber="117">
37690
37744
 
37691
37745
 
37692
37746
  <code class="ruby"> end</code>
37693
37747
  </li>
37694
37748
 
37695
- <li class="never" data-hits="" data-linenumber="103">
37749
+ <li class="never" data-hits="" data-linenumber="118">
37696
37750
 
37697
37751
 
37698
37752
  <code class="ruby"></code>
37699
37753
  </li>
37700
37754
 
37701
- <li class="covered" data-hits="17" data-linenumber="104">
37702
- <span class="hits">17</span>
37755
+ <li class="covered" data-hits="18" data-linenumber="119">
37756
+ <span class="hits">18</span>
37703
37757
 
37704
37758
  <code class="ruby"> post_body_tags &lt;&lt; custom_field_query</code>
37705
37759
  </li>
37706
37760
 
37707
- <li class="never" data-hits="" data-linenumber="105">
37761
+ <li class="never" data-hits="" data-linenumber="120">
37708
37762
 
37709
37763
 
37710
37764
  <code class="ruby"></code>
37711
37765
  </li>
37712
37766
 
37713
- <li class="covered" data-hits="17" data-linenumber="106">
37714
- <span class="hits">17</span>
37767
+ <li class="covered" data-hits="18" data-linenumber="121">
37768
+ <span class="hits">18</span>
37715
37769
 
37716
37770
  <code class="ruby"> xml_query_tag = &quot;#{model::XML_NODE}Query&quot;</code>
37717
37771
  </li>
37718
37772
 
37719
- <li class="covered" data-hits="17" data-linenumber="107">
37720
- <span class="hits">17</span>
37773
+ <li class="covered" data-hits="18" data-linenumber="122">
37774
+ <span class="hits">18</span>
37721
37775
 
37722
37776
  <code class="ruby"> body = %Q{&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;\n&lt;#{xml_query_tag} xmlns=&quot;http://www.intuit.com/sb/cdm/v2&quot;&gt;#{post_body_tags.join}&lt;/#{xml_query_tag}&gt;}</code>
37723
37777
  </li>
37724
37778
 
37725
- <li class="never" data-hits="" data-linenumber="108">
37779
+ <li class="never" data-hits="" data-linenumber="123">
37726
37780
 
37727
37781
 
37728
37782
  <code class="ruby"></code>
37729
37783
  </li>
37730
37784
 
37731
- <li class="covered" data-hits="17" data-linenumber="109">
37732
- <span class="hits">17</span>
37785
+ <li class="covered" data-hits="18" data-linenumber="124">
37786
+ <span class="hits">18</span>
37733
37787
 
37734
37788
  <code class="ruby"> response = do_http_post(url_for_resource(model::REST_RESOURCE), body, {}, {'Content-Type' =&gt; 'text/xml'})</code>
37735
37789
  </li>
37736
37790
 
37737
- <li class="covered" data-hits="17" data-linenumber="110">
37791
+ <li class="covered" data-hits="17" data-linenumber="125">
37738
37792
  <span class="hits">17</span>
37739
37793
 
37740
37794
  <code class="ruby"> parse_collection(response, model)</code>
37741
37795
  </li>
37742
37796
 
37743
- <li class="never" data-hits="" data-linenumber="111">
37797
+ <li class="never" data-hits="" data-linenumber="126">
37744
37798
 
37745
37799
 
37746
37800
  <code class="ruby"> end</code>
37747
37801
  </li>
37748
37802
 
37749
- <li class="never" data-hits="" data-linenumber="112">
37803
+ <li class="never" data-hits="" data-linenumber="127">
37750
37804
 
37751
37805
 
37752
37806
  <code class="ruby"></code>
37753
37807
  </li>
37754
37808
 
37755
- <li class="covered" data-hits="1" data-linenumber="113">
37809
+ <li class="covered" data-hits="1" data-linenumber="128">
37756
37810
  <span class="hits">1</span>
37757
37811
 
37758
37812
  <code class="ruby"> def parse_collection(response, model)</code>
37759
37813
  </li>
37760
37814
 
37761
- <li class="covered" data-hits="21" data-linenumber="114">
37815
+ <li class="covered" data-hits="21" data-linenumber="129">
37762
37816
  <span class="hits">21</span>
37763
37817
 
37764
37818
  <code class="ruby"> if response</code>
37765
37819
  </li>
37766
37820
 
37767
- <li class="covered" data-hits="15" data-linenumber="115">
37821
+ <li class="covered" data-hits="15" data-linenumber="130">
37768
37822
  <span class="hits">15</span>
37769
37823
 
37770
37824
  <code class="ruby"> collection = Quickeebooks::Collection.new</code>
37771
37825
  </li>
37772
37826
 
37773
- <li class="covered" data-hits="15" data-linenumber="116">
37827
+ <li class="covered" data-hits="15" data-linenumber="131">
37774
37828
  <span class="hits">15</span>
37775
37829
 
37776
37830
  <code class="ruby"> xml = @last_response_xml</code>
37777
37831
  </li>
37778
37832
 
37779
- <li class="covered" data-hits="15" data-linenumber="117">
37833
+ <li class="covered" data-hits="15" data-linenumber="132">
37780
37834
  <span class="hits">15</span>
37781
37835
 
37782
37836
  <code class="ruby"> begin</code>
37783
37837
  </li>
37784
37838
 
37785
- <li class="covered" data-hits="15" data-linenumber="118">
37839
+ <li class="covered" data-hits="15" data-linenumber="133">
37786
37840
  <span class="hits">15</span>
37787
37841
 
37788
37842
  <code class="ruby"> results = []</code>
37789
37843
  </li>
37790
37844
 
37791
- <li class="covered" data-hits="15" data-linenumber="119">
37845
+ <li class="covered" data-hits="15" data-linenumber="134">
37792
37846
  <span class="hits">15</span>
37793
37847
 
37794
37848
  <code class="ruby"> path_to_nodes = &quot;//xmlns:RestResponse/xmlns:#{model::XML_COLLECTION_NODE}/xmlns:#{model::XML_NODE}&quot;</code>
37795
37849
  </li>
37796
37850
 
37797
- <li class="covered" data-hits="15" data-linenumber="120">
37851
+ <li class="covered" data-hits="15" data-linenumber="135">
37798
37852
  <span class="hits">15</span>
37799
37853
 
37800
37854
  <code class="ruby"> collection.count = xml.xpath(path_to_nodes).count</code>
37801
37855
  </li>
37802
37856
 
37803
- <li class="covered" data-hits="15" data-linenumber="121">
37857
+ <li class="covered" data-hits="15" data-linenumber="136">
37804
37858
  <span class="hits">15</span>
37805
37859
 
37806
37860
  <code class="ruby"> if collection.count &gt; 0</code>
37807
37861
  </li>
37808
37862
 
37809
- <li class="covered" data-hits="15" data-linenumber="122">
37863
+ <li class="covered" data-hits="15" data-linenumber="137">
37810
37864
  <span class="hits">15</span>
37811
37865
 
37812
37866
  <code class="ruby"> xml.xpath(path_to_nodes).each do |xa|</code>
37813
37867
  </li>
37814
37868
 
37815
- <li class="covered" data-hits="71" data-linenumber="123">
37869
+ <li class="covered" data-hits="71" data-linenumber="138">
37816
37870
  <span class="hits">71</span>
37817
37871
 
37818
37872
  <code class="ruby"> entry = model.from_xml(xa)</code>
37819
37873
  </li>
37820
37874
 
37821
- <li class="covered" data-hits="71" data-linenumber="124">
37875
+ <li class="covered" data-hits="71" data-linenumber="139">
37822
37876
  <span class="hits">71</span>
37823
37877
 
37824
37878
  <code class="ruby"> results &lt;&lt; entry</code>
37825
37879
  </li>
37826
37880
 
37827
- <li class="never" data-hits="" data-linenumber="125">
37881
+ <li class="never" data-hits="" data-linenumber="140">
37828
37882
 
37829
37883
 
37830
37884
  <code class="ruby"> end</code>
37831
37885
  </li>
37832
37886
 
37833
- <li class="never" data-hits="" data-linenumber="126">
37887
+ <li class="never" data-hits="" data-linenumber="141">
37834
37888
 
37835
37889
 
37836
37890
  <code class="ruby"> end</code>
37837
37891
  </li>
37838
37892
 
37839
- <li class="covered" data-hits="15" data-linenumber="127">
37893
+ <li class="covered" data-hits="15" data-linenumber="142">
37840
37894
  <span class="hits">15</span>
37841
37895
 
37842
37896
  <code class="ruby"> collection.entries = results</code>
37843
37897
  </li>
37844
37898
 
37845
- <li class="covered" data-hits="15" data-linenumber="128">
37899
+ <li class="covered" data-hits="15" data-linenumber="143">
37846
37900
  <span class="hits">15</span>
37847
37901
 
37848
37902
  <code class="ruby"> collection.current_page = 1 # TODO: fix this</code>
37849
37903
  </li>
37850
37904
 
37851
- <li class="never" data-hits="" data-linenumber="129">
37905
+ <li class="never" data-hits="" data-linenumber="144">
37852
37906
 
37853
37907
 
37854
37908
  <code class="ruby"> rescue =&gt; ex</code>
37855
37909
  </li>
37856
37910
 
37857
- <li class="never" data-hits="" data-linenumber="130">
37911
+ <li class="never" data-hits="" data-linenumber="145">
37858
37912
 
37859
37913
 
37860
37914
  <code class="ruby"> #log(&quot;Error parsing XML: #{ex.message}&quot;)</code>
37861
37915
  </li>
37862
37916
 
37863
- <li class="missed" data-hits="0" data-linenumber="131">
37917
+ <li class="missed" data-hits="0" data-linenumber="146">
37864
37918
 
37865
37919
 
37866
37920
  <code class="ruby"> raise IntuitRequestException.new(&quot;Error parsing XML: #{ex.message}&quot;)</code>
37867
37921
  </li>
37868
37922
 
37869
- <li class="never" data-hits="" data-linenumber="132">
37923
+ <li class="never" data-hits="" data-linenumber="147">
37870
37924
 
37871
37925
 
37872
37926
  <code class="ruby"> end</code>
37873
37927
  </li>
37874
37928
 
37875
- <li class="covered" data-hits="15" data-linenumber="133">
37929
+ <li class="covered" data-hits="15" data-linenumber="148">
37876
37930
  <span class="hits">15</span>
37877
37931
 
37878
37932
  <code class="ruby"> collection</code>
37879
37933
  </li>
37880
37934
 
37881
- <li class="never" data-hits="" data-linenumber="134">
37935
+ <li class="never" data-hits="" data-linenumber="149">
37882
37936
 
37883
37937
 
37884
37938
  <code class="ruby"> else</code>
37885
37939
  </li>
37886
37940
 
37887
- <li class="never" data-hits="" data-linenumber="135">
37941
+ <li class="never" data-hits="" data-linenumber="150">
37888
37942
 
37889
37943
 
37890
37944
  <code class="ruby"> nil</code>
37891
37945
  </li>
37892
37946
 
37893
- <li class="never" data-hits="" data-linenumber="136">
37947
+ <li class="never" data-hits="" data-linenumber="151">
37894
37948
 
37895
37949
 
37896
37950
  <code class="ruby"> end</code>
37897
37951
  </li>
37898
37952
 
37899
- <li class="never" data-hits="" data-linenumber="137">
37953
+ <li class="never" data-hits="" data-linenumber="152">
37900
37954
 
37901
37955
 
37902
37956
  <code class="ruby"> end</code>
37903
37957
  </li>
37904
37958
 
37905
- <li class="never" data-hits="" data-linenumber="138">
37959
+ <li class="never" data-hits="" data-linenumber="153">
37906
37960
 
37907
37961
 
37908
37962
  <code class="ruby"></code>
37909
37963
  </li>
37910
37964
 
37911
- <li class="covered" data-hits="1" data-linenumber="139">
37965
+ <li class="covered" data-hits="1" data-linenumber="154">
37912
37966
  <span class="hits">1</span>
37913
37967
 
37914
37968
  <code class="ruby"> def perform_write(model, body = &quot;&quot;, params = {}, headers = {})</code>
37915
37969
  </li>
37916
37970
 
37917
- <li class="covered" data-hits="4" data-linenumber="140">
37971
+ <li class="covered" data-hits="4" data-linenumber="155">
37918
37972
  <span class="hits">4</span>
37919
37973
 
37920
37974
  <code class="ruby"> url = url_for_resource(model::REST_RESOURCE)</code>
37921
37975
  </li>
37922
37976
 
37923
- <li class="covered" data-hits="4" data-linenumber="141">
37977
+ <li class="covered" data-hits="4" data-linenumber="156">
37924
37978
  <span class="hits">4</span>
37925
37979
 
37926
37980
  <code class="ruby"> unless headers.has_key?('Content-Type')</code>
37927
37981
  </li>
37928
37982
 
37929
- <li class="covered" data-hits="4" data-linenumber="142">
37983
+ <li class="covered" data-hits="4" data-linenumber="157">
37930
37984
  <span class="hits">4</span>
37931
37985
 
37932
37986
  <code class="ruby"> headers['Content-Type'] = 'text/xml'</code>
37933
37987
  </li>
37934
37988
 
37935
- <li class="never" data-hits="" data-linenumber="143">
37989
+ <li class="never" data-hits="" data-linenumber="158">
37936
37990
 
37937
37991
 
37938
37992
  <code class="ruby"> end</code>
37939
37993
  </li>
37940
37994
 
37941
- <li class="covered" data-hits="4" data-linenumber="144">
37995
+ <li class="covered" data-hits="4" data-linenumber="159">
37942
37996
  <span class="hits">4</span>
37943
37997
 
37944
37998
  <code class="ruby"> response = do_http_post(url, body.strip, params, headers)</code>
37945
37999
  </li>
37946
38000
 
37947
- <li class="never" data-hits="" data-linenumber="145">
38001
+ <li class="never" data-hits="" data-linenumber="160">
37948
38002
 
37949
38003
 
37950
38004
  <code class="ruby"></code>
37951
38005
  </li>
37952
38006
 
37953
- <li class="covered" data-hits="4" data-linenumber="146">
38007
+ <li class="covered" data-hits="4" data-linenumber="161">
37954
38008
  <span class="hits">4</span>
37955
38009
 
37956
38010
  <code class="ruby"> result = nil</code>
37957
38011
  </li>
37958
38012
 
37959
- <li class="covered" data-hits="4" data-linenumber="147">
38013
+ <li class="covered" data-hits="4" data-linenumber="162">
37960
38014
  <span class="hits">4</span>
37961
38015
 
37962
38016
  <code class="ruby"> if response</code>
37963
38017
  </li>
37964
38018
 
37965
- <li class="covered" data-hits="4" data-linenumber="148">
38019
+ <li class="covered" data-hits="4" data-linenumber="163">
37966
38020
  <span class="hits">4</span>
37967
38021
 
37968
38022
  <code class="ruby"> case response.code.to_i</code>
37969
38023
  </li>
37970
38024
 
37971
- <li class="never" data-hits="" data-linenumber="149">
38025
+ <li class="never" data-hits="" data-linenumber="164">
37972
38026
 
37973
38027
 
37974
38028
  <code class="ruby"> when 200</code>
37975
38029
  </li>
37976
38030
 
37977
- <li class="covered" data-hits="4" data-linenumber="150">
38031
+ <li class="covered" data-hits="4" data-linenumber="165">
37978
38032
  <span class="hits">4</span>
37979
38033
 
37980
38034
  <code class="ruby"> result = Quickeebooks::Windows::Model::RestResponse.from_xml(response.body)</code>
37981
38035
  </li>
37982
38036
 
37983
- <li class="never" data-hits="" data-linenumber="151">
38037
+ <li class="never" data-hits="" data-linenumber="166">
37984
38038
 
37985
38039
 
37986
38040
  <code class="ruby"> when 401</code>
37987
38041
  </li>
37988
38042
 
37989
- <li class="missed" data-hits="0" data-linenumber="152">
38043
+ <li class="missed" data-hits="0" data-linenumber="167">
37990
38044
 
37991
38045
 
37992
38046
  <code class="ruby"> raise IntuitRequestException.new(&quot;Authorization failure: token timed out?&quot;)</code>
37993
38047
  </li>
37994
38048
 
37995
- <li class="never" data-hits="" data-linenumber="153">
38049
+ <li class="never" data-hits="" data-linenumber="168">
37996
38050
 
37997
38051
 
37998
38052
  <code class="ruby"> when 404</code>
37999
38053
  </li>
38000
38054
 
38001
- <li class="missed" data-hits="0" data-linenumber="154">
38055
+ <li class="missed" data-hits="0" data-linenumber="169">
38002
38056
 
38003
38057
 
38004
38058
  <code class="ruby"> raise IntuitRequestException.new(&quot;Resource Not Found: Check URL and try again&quot;)</code>
38005
38059
  </li>
38006
38060
 
38007
- <li class="never" data-hits="" data-linenumber="155">
38061
+ <li class="never" data-hits="" data-linenumber="170">
38008
38062
 
38009
38063
 
38010
38064
  <code class="ruby"> end</code>
38011
38065
  </li>
38012
38066
 
38013
- <li class="never" data-hits="" data-linenumber="156">
38067
+ <li class="never" data-hits="" data-linenumber="171">
38014
38068
 
38015
38069
 
38016
38070
  <code class="ruby"> end</code>
38017
38071
  </li>
38018
38072
 
38019
- <li class="covered" data-hits="4" data-linenumber="157">
38073
+ <li class="covered" data-hits="4" data-linenumber="172">
38020
38074
  <span class="hits">4</span>
38021
38075
 
38022
38076
  <code class="ruby"> result</code>
38023
38077
  </li>
38024
38078
 
38025
- <li class="never" data-hits="" data-linenumber="158">
38079
+ <li class="never" data-hits="" data-linenumber="173">
38026
38080
 
38027
38081
 
38028
38082
  <code class="ruby"> end</code>
38029
38083
  </li>
38030
38084
 
38031
- <li class="never" data-hits="" data-linenumber="159">
38085
+ <li class="never" data-hits="" data-linenumber="174">
38032
38086
 
38033
38087
 
38034
38088
  <code class="ruby"></code>
38035
38089
  </li>
38036
38090
 
38037
- <li class="covered" data-hits="1" data-linenumber="160">
38091
+ <li class="covered" data-hits="1" data-linenumber="175">
38038
38092
  <span class="hits">1</span>
38039
38093
 
38040
38094
  <code class="ruby"> def do_http_post(url, body = &quot;&quot;, params = {}, headers = {}) # throws IntuitRequestException</code>
38041
38095
  </li>
38042
38096
 
38043
- <li class="covered" data-hits="17" data-linenumber="161">
38044
- <span class="hits">17</span>
38097
+ <li class="covered" data-hits="18" data-linenumber="176">
38098
+ <span class="hits">18</span>
38045
38099
 
38046
38100
  <code class="ruby"> url = add_query_string_to_url(url, params)</code>
38047
38101
  </li>
38048
38102
 
38049
- <li class="covered" data-hits="17" data-linenumber="162">
38050
- <span class="hits">17</span>
38103
+ <li class="covered" data-hits="18" data-linenumber="177">
38104
+ <span class="hits">18</span>
38051
38105
 
38052
38106
  <code class="ruby"> do_http(:post, url, body, headers)</code>
38053
38107
  </li>
38054
38108
 
38055
- <li class="never" data-hits="" data-linenumber="163">
38109
+ <li class="never" data-hits="" data-linenumber="178">
38056
38110
 
38057
38111
 
38058
38112
  <code class="ruby"> end</code>
38059
38113
  </li>
38060
38114
 
38061
- <li class="never" data-hits="" data-linenumber="164">
38115
+ <li class="never" data-hits="" data-linenumber="179">
38062
38116
 
38063
38117
 
38064
38118
  <code class="ruby"></code>
38065
38119
  </li>
38066
38120
 
38067
- <li class="covered" data-hits="1" data-linenumber="165">
38121
+ <li class="covered" data-hits="1" data-linenumber="180">
38068
38122
  <span class="hits">1</span>
38069
38123
 
38070
38124
  <code class="ruby"> def do_http_get(url, params = {}, headers = {}) # throws IntuitRequestException</code>
38071
38125
  </li>
38072
38126
 
38073
- <li class="covered" data-hits="8" data-linenumber="166">
38127
+ <li class="covered" data-hits="8" data-linenumber="181">
38074
38128
  <span class="hits">8</span>
38075
38129
 
38076
38130
  <code class="ruby"> url = add_query_string_to_url(url, params)</code>
38077
38131
  </li>
38078
38132
 
38079
- <li class="covered" data-hits="8" data-linenumber="167">
38133
+ <li class="covered" data-hits="8" data-linenumber="182">
38080
38134
  <span class="hits">8</span>
38081
38135
 
38082
38136
  <code class="ruby"> do_http(:get, url, &quot;&quot;, headers)</code>
38083
38137
  </li>
38084
38138
 
38085
- <li class="never" data-hits="" data-linenumber="168">
38139
+ <li class="never" data-hits="" data-linenumber="183">
38086
38140
 
38087
38141
 
38088
38142
  <code class="ruby"> end</code>
38089
38143
  </li>
38090
38144
 
38091
- <li class="never" data-hits="" data-linenumber="169">
38145
+ <li class="never" data-hits="" data-linenumber="184">
38092
38146
 
38093
38147
 
38094
38148
  <code class="ruby"></code>
38095
38149
  </li>
38096
38150
 
38097
- <li class="covered" data-hits="1" data-linenumber="170">
38151
+ <li class="covered" data-hits="1" data-linenumber="185">
38098
38152
  <span class="hits">1</span>
38099
38153
 
38100
38154
  <code class="ruby"> def do_http(method, url, body, headers) # throws IntuitRequestException</code>
38101
38155
  </li>
38102
38156
 
38103
- <li class="covered" data-hits="25" data-linenumber="171">
38104
- <span class="hits">25</span>
38157
+ <li class="covered" data-hits="26" data-linenumber="186">
38158
+ <span class="hits">26</span>
38105
38159
 
38106
38160
  <code class="ruby"> if @oauth.nil?</code>
38107
38161
  </li>
38108
38162
 
38109
- <li class="missed" data-hits="0" data-linenumber="172">
38163
+ <li class="missed" data-hits="0" data-linenumber="187">
38110
38164
 
38111
38165
 
38112
38166
  <code class="ruby"> raise &quot;OAuth client has not been initialized. Initialize with setter access_token=&quot;</code>
38113
38167
  </li>
38114
38168
 
38115
- <li class="never" data-hits="" data-linenumber="173">
38169
+ <li class="never" data-hits="" data-linenumber="188">
38116
38170
 
38117
38171
 
38118
38172
  <code class="ruby"> end</code>
38119
38173
  </li>
38120
38174
 
38121
- <li class="covered" data-hits="25" data-linenumber="174">
38122
- <span class="hits">25</span>
38175
+ <li class="covered" data-hits="26" data-linenumber="189">
38176
+ <span class="hits">26</span>
38123
38177
 
38124
38178
  <code class="ruby"> unless headers.has_key?('Content-Type')</code>
38125
38179
  </li>
38126
38180
 
38127
- <li class="covered" data-hits="6" data-linenumber="175">
38181
+ <li class="covered" data-hits="6" data-linenumber="190">
38128
38182
  <span class="hits">6</span>
38129
38183
 
38130
38184
  <code class="ruby"> headers.merge!({'Content-Type' =&gt; 'application/xml'})</code>
38131
38185
  </li>
38132
38186
 
38133
- <li class="never" data-hits="" data-linenumber="176">
38187
+ <li class="never" data-hits="" data-linenumber="191">
38134
38188
 
38135
38189
 
38136
38190
  <code class="ruby"> end</code>
38137
38191
  </li>
38138
38192
 
38139
- <li class="never" data-hits="" data-linenumber="177">
38193
+ <li class="never" data-hits="" data-linenumber="192">
38140
38194
 
38141
38195
 
38142
38196
  <code class="ruby"> # puts &quot;METHOD = #{method}&quot;</code>
38143
38197
  </li>
38144
38198
 
38145
- <li class="never" data-hits="" data-linenumber="178">
38199
+ <li class="never" data-hits="" data-linenumber="193">
38146
38200
 
38147
38201
 
38148
38202
  <code class="ruby"> # puts &quot;URL = #{url}&quot;</code>
38149
38203
  </li>
38150
38204
 
38151
- <li class="never" data-hits="" data-linenumber="179">
38205
+ <li class="never" data-hits="" data-linenumber="194">
38152
38206
 
38153
38207
 
38154
38208
  <code class="ruby"> # puts &quot;BODY = #{body == nil ? &quot;&lt;NIL&gt;&quot; : body}&quot;</code>
38155
38209
  </li>
38156
38210
 
38157
- <li class="never" data-hits="" data-linenumber="180">
38211
+ <li class="never" data-hits="" data-linenumber="195">
38158
38212
 
38159
38213
 
38160
38214
  <code class="ruby"> # puts &quot;HEADERS = #{headers.inspect}&quot;</code>
38161
38215
  </li>
38162
38216
 
38163
- <li class="covered" data-hits="25" data-linenumber="181">
38164
- <span class="hits">25</span>
38217
+ <li class="covered" data-hits="26" data-linenumber="196">
38218
+ <span class="hits">26</span>
38165
38219
 
38166
38220
  <code class="ruby"> response = @oauth.request(method, url, body, headers)</code>
38167
38221
  </li>
38168
38222
 
38169
- <li class="covered" data-hits="25" data-linenumber="182">
38170
- <span class="hits">25</span>
38223
+ <li class="covered" data-hits="26" data-linenumber="197">
38224
+ <span class="hits">26</span>
38171
38225
 
38172
38226
  <code class="ruby"> check_response(response)</code>
38173
38227
  </li>
38174
38228
 
38175
- <li class="never" data-hits="" data-linenumber="183">
38229
+ <li class="never" data-hits="" data-linenumber="198">
38176
38230
 
38177
38231
 
38178
38232
  <code class="ruby"> end</code>
38179
38233
  </li>
38180
38234
 
38181
- <li class="never" data-hits="" data-linenumber="184">
38235
+ <li class="never" data-hits="" data-linenumber="199">
38182
38236
 
38183
38237
 
38184
38238
  <code class="ruby"></code>
38185
38239
  </li>
38186
38240
 
38187
- <li class="covered" data-hits="1" data-linenumber="185">
38241
+ <li class="covered" data-hits="1" data-linenumber="200">
38188
38242
  <span class="hits">1</span>
38189
38243
 
38190
38244
  <code class="ruby"> def add_query_string_to_url(url, params)</code>
38191
38245
  </li>
38192
38246
 
38193
- <li class="covered" data-hits="25" data-linenumber="186">
38194
- <span class="hits">25</span>
38247
+ <li class="covered" data-hits="26" data-linenumber="201">
38248
+ <span class="hits">26</span>
38195
38249
 
38196
38250
  <code class="ruby"> if params.is_a?(Hash) &amp;&amp; !params.empty?</code>
38197
38251
  </li>
38198
38252
 
38199
- <li class="covered" data-hits="2" data-linenumber="187">
38253
+ <li class="covered" data-hits="2" data-linenumber="202">
38200
38254
  <span class="hits">2</span>
38201
38255
 
38202
38256
  <code class="ruby"> url + &quot;?&quot; + params.collect { |k| &quot;#{k.first}=#{k.last}&quot; }.join(&quot;&amp;&quot;)</code>
38203
38257
  </li>
38204
38258
 
38205
- <li class="never" data-hits="" data-linenumber="188">
38259
+ <li class="never" data-hits="" data-linenumber="203">
38206
38260
 
38207
38261
 
38208
38262
  <code class="ruby"> else</code>
38209
38263
  </li>
38210
38264
 
38211
- <li class="covered" data-hits="24" data-linenumber="189">
38212
- <span class="hits">24</span>
38265
+ <li class="covered" data-hits="25" data-linenumber="204">
38266
+ <span class="hits">25</span>
38213
38267
 
38214
38268
  <code class="ruby"> url</code>
38215
38269
  </li>
38216
38270
 
38217
- <li class="never" data-hits="" data-linenumber="190">
38271
+ <li class="never" data-hits="" data-linenumber="205">
38218
38272
 
38219
38273
 
38220
38274
  <code class="ruby"> end</code>
38221
38275
  </li>
38222
38276
 
38223
- <li class="never" data-hits="" data-linenumber="191">
38277
+ <li class="never" data-hits="" data-linenumber="206">
38224
38278
 
38225
38279
 
38226
38280
  <code class="ruby"> end</code>
38227
38281
  </li>
38228
38282
 
38229
- <li class="never" data-hits="" data-linenumber="192">
38283
+ <li class="never" data-hits="" data-linenumber="207">
38230
38284
 
38231
38285
 
38232
38286
  <code class="ruby"></code>
38233
38287
  </li>
38234
38288
 
38235
- <li class="covered" data-hits="1" data-linenumber="193">
38289
+ <li class="covered" data-hits="1" data-linenumber="208">
38236
38290
  <span class="hits">1</span>
38237
38291
 
38238
38292
  <code class="ruby"> def check_response(response)</code>
38239
38293
  </li>
38240
38294
 
38241
- <li class="never" data-hits="" data-linenumber="194">
38295
+ <li class="never" data-hits="" data-linenumber="209">
38242
38296
 
38243
38297
 
38244
38298
  <code class="ruby"> #puts &quot;HTTP Response: #{response.code}&quot;</code>
38245
38299
  </li>
38246
38300
 
38247
- <li class="covered" data-hits="25" data-linenumber="195">
38248
- <span class="hits">25</span>
38301
+ <li class="covered" data-hits="26" data-linenumber="210">
38302
+ <span class="hits">26</span>
38249
38303
 
38250
38304
  <code class="ruby"> parse_xml(response.body)</code>
38251
38305
  </li>
38252
38306
 
38253
- <li class="covered" data-hits="25" data-linenumber="196">
38254
- <span class="hits">25</span>
38307
+ <li class="covered" data-hits="26" data-linenumber="211">
38308
+ <span class="hits">26</span>
38255
38309
 
38256
38310
  <code class="ruby"> status = response.code.to_i</code>
38257
38311
  </li>
38258
38312
 
38259
- <li class="covered" data-hits="25" data-linenumber="197">
38260
- <span class="hits">25</span>
38313
+ <li class="covered" data-hits="26" data-linenumber="212">
38314
+ <span class="hits">26</span>
38261
38315
 
38262
38316
  <code class="ruby"> case status</code>
38263
38317
  </li>
38264
38318
 
38265
- <li class="never" data-hits="" data-linenumber="198">
38319
+ <li class="never" data-hits="" data-linenumber="213">
38266
38320
 
38267
38321
 
38268
38322
  <code class="ruby"> when 200</code>
38269
38323
  </li>
38270
38324
 
38271
- <li class="never" data-hits="" data-linenumber="199">
38325
+ <li class="never" data-hits="" data-linenumber="214">
38272
38326
 
38273
38327
 
38274
38328
  <code class="ruby"> # even HTTP 200 can contain an error, so we always have to peek for an Error</code>
38275
38329
  </li>
38276
38330
 
38277
- <li class="covered" data-hits="25" data-linenumber="200">
38278
- <span class="hits">25</span>
38331
+ <li class="covered" data-hits="26" data-linenumber="215">
38332
+ <span class="hits">26</span>
38279
38333
 
38280
38334
  <code class="ruby"> if response_is_error?</code>
38281
38335
  </li>
38282
38336
 
38283
- <li class="missed" data-hits="0" data-linenumber="201">
38284
-
38337
+ <li class="covered" data-hits="1" data-linenumber="216">
38338
+ <span class="hits">1</span>
38285
38339
 
38286
- <code class="ruby"> parse_and_raise_exceptione</code>
38340
+ <code class="ruby"> parse_and_raise_exception</code>
38287
38341
  </li>
38288
38342
 
38289
- <li class="never" data-hits="" data-linenumber="202">
38343
+ <li class="never" data-hits="" data-linenumber="217">
38290
38344
 
38291
38345
 
38292
38346
  <code class="ruby"> else</code>
38293
38347
  </li>
38294
38348
 
38295
- <li class="covered" data-hits="25" data-linenumber="203">
38349
+ <li class="covered" data-hits="25" data-linenumber="218">
38296
38350
  <span class="hits">25</span>
38297
38351
 
38298
38352
  <code class="ruby"> response</code>
38299
38353
  </li>
38300
38354
 
38301
- <li class="never" data-hits="" data-linenumber="204">
38355
+ <li class="never" data-hits="" data-linenumber="219">
38302
38356
 
38303
38357
 
38304
38358
  <code class="ruby"> end</code>
38305
38359
  </li>
38306
38360
 
38307
- <li class="never" data-hits="" data-linenumber="205">
38361
+ <li class="never" data-hits="" data-linenumber="220">
38308
38362
 
38309
38363
 
38310
38364
  <code class="ruby"> when 302</code>
38311
38365
  </li>
38312
38366
 
38313
- <li class="missed" data-hits="0" data-linenumber="206">
38367
+ <li class="missed" data-hits="0" data-linenumber="221">
38314
38368
 
38315
38369
 
38316
38370
  <code class="ruby"> raise &quot;Unhandled HTTP Redirect&quot;</code>
38317
38371
  </li>
38318
38372
 
38319
- <li class="never" data-hits="" data-linenumber="207">
38373
+ <li class="never" data-hits="" data-linenumber="222">
38320
38374
 
38321
38375
 
38322
38376
  <code class="ruby"> when 401</code>
38323
38377
  </li>
38324
38378
 
38325
- <li class="missed" data-hits="0" data-linenumber="208">
38379
+ <li class="missed" data-hits="0" data-linenumber="223">
38326
38380
 
38327
38381
 
38328
38382
  <code class="ruby"> raise AuthorizationFailure</code>
38329
38383
  </li>
38330
38384
 
38331
- <li class="never" data-hits="" data-linenumber="209">
38385
+ <li class="never" data-hits="" data-linenumber="224">
38332
38386
 
38333
38387
 
38334
38388
  <code class="ruby"> when 400, 500</code>
38335
38389
  </li>
38336
38390
 
38337
- <li class="missed" data-hits="0" data-linenumber="210">
38391
+ <li class="missed" data-hits="0" data-linenumber="225">
38338
38392
 
38339
38393
 
38340
38394
  <code class="ruby"> parse_and_raise_exceptione</code>
38341
38395
  </li>
38342
38396
 
38343
- <li class="never" data-hits="" data-linenumber="211">
38397
+ <li class="never" data-hits="" data-linenumber="226">
38344
38398
 
38345
38399
 
38346
38400
  <code class="ruby"> else</code>
38347
38401
  </li>
38348
38402
 
38349
- <li class="missed" data-hits="0" data-linenumber="212">
38403
+ <li class="missed" data-hits="0" data-linenumber="227">
38350
38404
 
38351
38405
 
38352
38406
  <code class="ruby"> raise &quot;HTTP Error Code: #{status}, Msg: #{response.body}&quot;</code>
38353
38407
  </li>
38354
38408
 
38355
- <li class="never" data-hits="" data-linenumber="213">
38409
+ <li class="never" data-hits="" data-linenumber="228">
38356
38410
 
38357
38411
 
38358
38412
  <code class="ruby"> end</code>
38359
38413
  </li>
38360
38414
 
38361
- <li class="never" data-hits="" data-linenumber="214">
38415
+ <li class="never" data-hits="" data-linenumber="229">
38362
38416
 
38363
38417
 
38364
38418
  <code class="ruby"> end</code>
38365
38419
  </li>
38366
38420
 
38367
- <li class="never" data-hits="" data-linenumber="215">
38421
+ <li class="never" data-hits="" data-linenumber="230">
38368
38422
 
38369
38423
 
38370
38424
  <code class="ruby"></code>
38371
38425
  </li>
38372
38426
 
38373
- <li class="covered" data-hits="1" data-linenumber="216">
38427
+ <li class="covered" data-hits="1" data-linenumber="231">
38374
38428
  <span class="hits">1</span>
38375
38429
 
38376
- <code class="ruby"> def parse_and_raise_exceptione</code>
38430
+ <code class="ruby"> def parse_and_raise_exception</code>
38377
38431
  </li>
38378
38432
 
38379
- <li class="missed" data-hits="0" data-linenumber="217">
38380
-
38433
+ <li class="covered" data-hits="1" data-linenumber="232">
38434
+ <span class="hits">1</span>
38381
38435
 
38382
38436
  <code class="ruby"> err = parse_intuit_error</code>
38383
38437
  </li>
38384
38438
 
38385
- <li class="missed" data-hits="0" data-linenumber="218">
38386
-
38439
+ <li class="covered" data-hits="1" data-linenumber="233">
38440
+ <span class="hits">1</span>
38387
38441
 
38388
38442
  <code class="ruby"> ex = IntuitRequestException.new(err[:message])</code>
38389
38443
  </li>
38390
38444
 
38391
- <li class="missed" data-hits="0" data-linenumber="219">
38392
-
38445
+ <li class="covered" data-hits="1" data-linenumber="234">
38446
+ <span class="hits">1</span>
38393
38447
 
38394
38448
  <code class="ruby"> ex.code = err[:code]</code>
38395
38449
  </li>
38396
38450
 
38397
- <li class="missed" data-hits="0" data-linenumber="220">
38398
-
38451
+ <li class="covered" data-hits="1" data-linenumber="235">
38452
+ <span class="hits">1</span>
38399
38453
 
38400
38454
  <code class="ruby"> ex.cause = err[:cause]</code>
38401
38455
  </li>
38402
38456
 
38403
- <li class="missed" data-hits="0" data-linenumber="221">
38404
-
38457
+ <li class="covered" data-hits="1" data-linenumber="236">
38458
+ <span class="hits">1</span>
38405
38459
 
38406
38460
  <code class="ruby"> raise ex</code>
38407
38461
  </li>
38408
38462
 
38409
- <li class="never" data-hits="" data-linenumber="222">
38463
+ <li class="never" data-hits="" data-linenumber="237">
38410
38464
 
38411
38465
 
38412
38466
  <code class="ruby"> end</code>
38413
38467
  </li>
38414
38468
 
38415
- <li class="never" data-hits="" data-linenumber="223">
38469
+ <li class="never" data-hits="" data-linenumber="238">
38416
38470
 
38417
38471
 
38418
38472
  <code class="ruby"></code>
38419
38473
  </li>
38420
38474
 
38421
- <li class="covered" data-hits="1" data-linenumber="224">
38475
+ <li class="covered" data-hits="1" data-linenumber="239">
38422
38476
  <span class="hits">1</span>
38423
38477
 
38424
38478
  <code class="ruby"> def response_is_error?</code>
38425
38479
  </li>
38426
38480
 
38427
- <li class="covered" data-hits="25" data-linenumber="225">
38428
- <span class="hits">25</span>
38481
+ <li class="covered" data-hits="26" data-linenumber="240">
38482
+ <span class="hits">26</span>
38429
38483
 
38430
38484
  <code class="ruby"> @last_response_xml.xpath(&quot;//xmlns:RestResponse/xmlns:Error&quot;).first != nil</code>
38431
38485
  </li>
38432
38486
 
38433
- <li class="never" data-hits="" data-linenumber="226">
38487
+ <li class="never" data-hits="" data-linenumber="241">
38434
38488
 
38435
38489
 
38436
38490
  <code class="ruby"> end</code>
38437
38491
  </li>
38438
38492
 
38439
- <li class="never" data-hits="" data-linenumber="227">
38493
+ <li class="never" data-hits="" data-linenumber="242">
38440
38494
 
38441
38495
 
38442
38496
  <code class="ruby"></code>
38443
38497
  </li>
38444
38498
 
38445
- <li class="covered" data-hits="1" data-linenumber="228">
38499
+ <li class="covered" data-hits="1" data-linenumber="243">
38446
38500
  <span class="hits">1</span>
38447
38501
 
38448
38502
  <code class="ruby"> def parse_intuit_error</code>
38449
38503
  </li>
38450
38504
 
38451
- <li class="missed" data-hits="0" data-linenumber="229">
38452
-
38505
+ <li class="covered" data-hits="1" data-linenumber="244">
38506
+ <span class="hits">1</span>
38453
38507
 
38454
38508
  <code class="ruby"> error = {:message =&gt; &quot;&quot;, :code =&gt; 0, :cause =&gt; &quot;&quot;}</code>
38455
38509
  </li>
38456
38510
 
38457
- <li class="missed" data-hits="0" data-linenumber="230">
38458
-
38511
+ <li class="covered" data-hits="1" data-linenumber="245">
38512
+ <span class="hits">1</span>
38459
38513
 
38460
38514
  <code class="ruby"> fault = @last_response_xml.xpath(&quot;//xmlns:RestResponse/xmlns:Error/xmlns:ErrorDesc&quot;)[0]</code>
38461
38515
  </li>
38462
38516
 
38463
- <li class="missed" data-hits="0" data-linenumber="231">
38464
-
38517
+ <li class="covered" data-hits="1" data-linenumber="246">
38518
+ <span class="hits">1</span>
38465
38519
 
38466
38520
  <code class="ruby"> if fault</code>
38467
38521
  </li>
38468
38522
 
38469
- <li class="missed" data-hits="0" data-linenumber="232">
38470
-
38523
+ <li class="covered" data-hits="1" data-linenumber="247">
38524
+ <span class="hits">1</span>
38471
38525
 
38472
38526
  <code class="ruby"> error[:message] = fault.text</code>
38473
38527
  </li>
38474
38528
 
38475
- <li class="never" data-hits="" data-linenumber="233">
38529
+ <li class="never" data-hits="" data-linenumber="248">
38476
38530
 
38477
38531
 
38478
38532
  <code class="ruby"> end</code>
38479
38533
  </li>
38480
38534
 
38481
- <li class="missed" data-hits="0" data-linenumber="234">
38482
-
38535
+ <li class="covered" data-hits="1" data-linenumber="249">
38536
+ <span class="hits">1</span>
38483
38537
 
38484
38538
  <code class="ruby"> error_code = @last_response_xml.xpath(&quot;//xmlns:RestResponse/xmlns:Error/xmlns:ErrorCode&quot;)[0]</code>
38485
38539
  </li>
38486
38540
 
38487
- <li class="missed" data-hits="0" data-linenumber="235">
38488
-
38541
+ <li class="covered" data-hits="1" data-linenumber="250">
38542
+ <span class="hits">1</span>
38489
38543
 
38490
38544
  <code class="ruby"> if error_code</code>
38491
38545
  </li>
38492
38546
 
38493
- <li class="missed" data-hits="0" data-linenumber="236">
38494
-
38547
+ <li class="covered" data-hits="1" data-linenumber="251">
38548
+ <span class="hits">1</span>
38495
38549
 
38496
38550
  <code class="ruby"> error[:code] = error_code.text</code>
38497
38551
  </li>
38498
38552
 
38499
- <li class="never" data-hits="" data-linenumber="237">
38553
+ <li class="never" data-hits="" data-linenumber="252">
38500
38554
 
38501
38555
 
38502
38556
  <code class="ruby"> end</code>
38503
38557
  </li>
38504
38558
 
38505
- <li class="missed" data-hits="0" data-linenumber="238">
38506
-
38559
+ <li class="covered" data-hits="1" data-linenumber="253">
38560
+ <span class="hits">1</span>
38507
38561
 
38508
38562
  <code class="ruby"> error</code>
38509
38563
  </li>
38510
38564
 
38511
- <li class="never" data-hits="" data-linenumber="239">
38565
+ <li class="never" data-hits="" data-linenumber="254">
38512
38566
 
38513
38567
 
38514
38568
  <code class="ruby"> end</code>
38515
38569
  </li>
38516
38570
 
38517
- <li class="never" data-hits="" data-linenumber="240">
38571
+ <li class="never" data-hits="" data-linenumber="255">
38518
38572
 
38519
38573
 
38520
38574
  <code class="ruby"></code>
38521
38575
  </li>
38522
38576
 
38523
- <li class="never" data-hits="" data-linenumber="241">
38577
+ <li class="never" data-hits="" data-linenumber="256">
38524
38578
 
38525
38579
 
38526
38580
  <code class="ruby"> end</code>
38527
38581
  </li>
38528
38582
 
38529
- <li class="never" data-hits="" data-linenumber="242">
38583
+ <li class="never" data-hits="" data-linenumber="257">
38530
38584
 
38531
38585
 
38532
38586
  <code class="ruby"> end</code>
38533
38587
  </li>
38534
38588
 
38535
- <li class="never" data-hits="" data-linenumber="243">
38589
+ <li class="never" data-hits="" data-linenumber="258">
38536
38590
 
38537
38591
 
38538
38592
  <code class="ruby"> end</code>
38539
38593
  </li>
38540
38594
 
38541
- <li class="never" data-hits="" data-linenumber="244">
38595
+ <li class="never" data-hits="" data-linenumber="259">
38542
38596
 
38543
38597
 
38544
38598
  <code class="ruby">end</code>