quickbooks 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/README +9 -5
  2. data/Rakefile +2 -2
  3. data/doc/classes/Array.html +244 -0
  4. data/doc/classes/Array.src/M000001.html +18 -0
  5. data/doc/classes/Array.src/M000002.html +19 -0
  6. data/doc/classes/Array.src/M000003.html +18 -0
  7. data/doc/classes/Array.src/M000004.html +23 -0
  8. data/doc/classes/Array.src/M000005.html +18 -0
  9. data/doc/classes/Array.src/M000006.html +21 -0
  10. data/doc/classes/Array.src/M000007.html +18 -0
  11. data/doc/classes/Array.src/M000008.html +18 -0
  12. data/doc/classes/Class.html +5 -5
  13. data/doc/classes/Class.src/{M000003.html → M000027.html} +1 -1
  14. data/doc/classes/Hash.html +264 -14
  15. data/doc/classes/Hash.src/M000009.html +18 -0
  16. data/doc/classes/Hash.src/M000010.html +21 -0
  17. data/doc/classes/Hash.src/M000011.html +18 -0
  18. data/doc/classes/Hash.src/M000012.html +21 -0
  19. data/doc/classes/Hash.src/M000013.html +18 -0
  20. data/doc/classes/Hash.src/{M000001.html → M000014.html} +6 -5
  21. data/doc/classes/Hash.src/{M000002.html → M000015.html} +6 -2
  22. data/doc/classes/Hash.src/M000016.html +20 -0
  23. data/doc/classes/Hash.src/M000017.html +18 -0
  24. data/doc/classes/Hash.src/M000018.html +20 -0
  25. data/doc/classes/Hash.src/M000019.html +38 -0
  26. data/doc/classes/{Quickbooks/Qbxml/Error.src/M000031.html → Hash.src/M000020.html} +5 -5
  27. data/doc/classes/Hash.src/M000021.html +18 -0
  28. data/doc/classes/Hash.src/M000022.html +20 -0
  29. data/doc/classes/Hash.src/M000023.html +18 -0
  30. data/doc/classes/Hash.src/M000024.html +18 -0
  31. data/doc/classes/Hash.src/M000025.html +18 -0
  32. data/doc/classes/Hash.src/M000026.html +22 -0
  33. data/doc/classes/Object.html +56 -22
  34. data/doc/classes/Object.src/{M000004.html → M000028.html} +0 -0
  35. data/doc/classes/Object.src/{M000005.html → M000029.html} +0 -0
  36. data/doc/classes/Object.src/{M000006.html → M000030.html} +1 -1
  37. data/doc/classes/Object.src/{M000007.html → M000031.html} +0 -0
  38. data/doc/classes/Object.src/M000032.html +18 -0
  39. data/doc/classes/Object.src/M000033.html +18 -0
  40. data/doc/classes/QBHelpers/Ole.html +17 -17
  41. data/doc/classes/QBHelpers/Ole.src/{M000066.html → M000108.html} +0 -0
  42. data/doc/classes/QBHelpers/Ole.src/{M000067.html → M000109.html} +0 -0
  43. data/doc/classes/QBHelpers/Ole.src/{M000068.html → M000110.html} +0 -0
  44. data/doc/classes/Quickbooks.html +44 -4
  45. data/doc/classes/Quickbooks/{Qbxml/Error.html → Address.html} +14 -43
  46. data/doc/classes/Quickbooks/Address.src/M000107.html +19 -0
  47. data/doc/classes/Quickbooks/Base.html +118 -243
  48. data/doc/classes/Quickbooks/Base.src/{M000034.html → M000080.html} +1 -1
  49. data/doc/classes/Quickbooks/Base.src/{M000035.html → M000081.html} +1 -1
  50. data/doc/classes/Quickbooks/Base.src/{M000036.html → M000082.html} +1 -1
  51. data/doc/classes/Quickbooks/Base.src/{M000037.html → M000083.html} +1 -1
  52. data/doc/classes/Quickbooks/Base.src/M000084.html +23 -0
  53. data/doc/classes/Quickbooks/Base.src/{M000041.html → M000085.html} +1 -1
  54. data/doc/classes/Quickbooks/Base.src/{M000042.html → M000086.html} +2 -2
  55. data/doc/classes/Quickbooks/Base.src/{M000043.html → M000087.html} +3 -2
  56. data/doc/classes/Quickbooks/Base.src/M000088.html +19 -0
  57. data/doc/classes/Quickbooks/Base.src/{M000045.html → M000089.html} +1 -1
  58. data/doc/classes/Quickbooks/Base.src/M000090.html +19 -0
  59. data/doc/classes/Quickbooks/Base.src/{M000052.html → M000091.html} +1 -1
  60. data/doc/classes/Quickbooks/Base.src/M000092.html +45 -0
  61. data/doc/classes/Quickbooks/Base.src/{M000054.html → M000093.html} +2 -2
  62. data/doc/classes/Quickbooks/Base.src/M000094.html +18 -0
  63. data/doc/classes/Quickbooks/Base.src/M000095.html +20 -0
  64. data/doc/classes/Quickbooks/BillAddress.html +113 -0
  65. data/doc/classes/Quickbooks/Connection.html +68 -68
  66. data/doc/classes/Quickbooks/Connection.src/{M000056.html → M000097.html} +0 -0
  67. data/doc/classes/Quickbooks/Connection.src/{M000057.html → M000098.html} +0 -0
  68. data/doc/classes/Quickbooks/Connection.src/{M000058.html → M000099.html} +0 -1
  69. data/doc/classes/Quickbooks/Connection.src/{M000059.html → M000100.html} +1 -1
  70. data/doc/classes/Quickbooks/Connection.src/{M000060.html → M000101.html} +1 -1
  71. data/doc/classes/Quickbooks/Connection.src/{M000061.html → M000102.html} +2 -2
  72. data/doc/classes/Quickbooks/Connection.src/{M000062.html → M000103.html} +1 -1
  73. data/doc/classes/Quickbooks/Connection.src/{M000063.html → M000104.html} +1 -1
  74. data/doc/classes/Quickbooks/Connection.src/{M000064.html → M000105.html} +1 -1
  75. data/doc/classes/Quickbooks/Connection.src/{M000065.html → M000106.html} +2 -2
  76. data/doc/classes/Quickbooks/CreditCardInfo.html +113 -0
  77. data/doc/classes/Quickbooks/CustomerTypeRef.html +113 -0
  78. data/doc/classes/Quickbooks/ItemSalesTaxRef.html +113 -0
  79. data/doc/classes/Quickbooks/JobTypeRef.html +113 -0
  80. data/doc/classes/Quickbooks/ListItem.html +21 -44
  81. data/doc/classes/Quickbooks/ListItem.src/M000078.html +19 -0
  82. data/doc/classes/Quickbooks/ListItem.src/M000079.html +18 -0
  83. data/doc/classes/Quickbooks/Model.html +469 -0
  84. data/doc/classes/Quickbooks/Model.src/M000059.html +24 -0
  85. data/doc/classes/Quickbooks/Model.src/M000060.html +18 -0
  86. data/doc/classes/Quickbooks/Model.src/M000061.html +18 -0
  87. data/doc/classes/Quickbooks/Model.src/M000062.html +18 -0
  88. data/doc/classes/Quickbooks/Model.src/M000063.html +18 -0
  89. data/doc/classes/Quickbooks/Model.src/M000064.html +18 -0
  90. data/doc/classes/Quickbooks/Model.src/M000065.html +32 -0
  91. data/doc/classes/Quickbooks/Model.src/M000066.html +32 -0
  92. data/doc/classes/Quickbooks/Model.src/M000067.html +18 -0
  93. data/doc/classes/Quickbooks/{Base.src/M000046.html → Model.src/M000068.html} +2 -3
  94. data/doc/classes/Quickbooks/{Base.src/M000047.html → Model.src/M000069.html} +4 -4
  95. data/doc/classes/Quickbooks/{Base.src/M000048.html → Model.src/M000070.html} +2 -2
  96. data/doc/classes/Quickbooks/{Base.src/M000049.html → Model.src/M000071.html} +2 -2
  97. data/doc/classes/Quickbooks/{Base.src/M000050.html → Model.src/M000072.html} +3 -3
  98. data/doc/classes/Quickbooks/{Base.src/M000051.html → Model.src/M000073.html} +6 -5
  99. data/doc/classes/Quickbooks/Model.src/M000074.html +28 -0
  100. data/doc/classes/Quickbooks/Model.src/M000075.html +28 -0
  101. data/doc/classes/Quickbooks/Model.src/M000076.html +21 -0
  102. data/doc/classes/Quickbooks/Model.src/M000077.html +23 -0
  103. data/doc/classes/Quickbooks/ParentRef.html +113 -0
  104. data/doc/classes/Quickbooks/PreferredPaymentMethodRef.html +113 -0
  105. data/doc/classes/Quickbooks/PriceLevelRef.html +113 -0
  106. data/doc/classes/Quickbooks/Qbxml.html +0 -5
  107. data/doc/classes/Quickbooks/Qbxml/Request.html +55 -23
  108. data/doc/classes/Quickbooks/Qbxml/Request.src/M000050.html +34 -0
  109. data/doc/classes/Quickbooks/Qbxml/Request.src/{M000025.html → M000051.html} +2 -2
  110. data/doc/classes/Quickbooks/Qbxml/Request.src/M000052.html +81 -0
  111. data/doc/classes/Quickbooks/Qbxml/RequestSet.html +20 -20
  112. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/{M000027.html → M000053.html} +0 -0
  113. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/{M000028.html → M000054.html} +0 -0
  114. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/{M000029.html → M000055.html} +0 -0
  115. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/{M000030.html → M000056.html} +0 -0
  116. data/doc/classes/Quickbooks/Qbxml/Response.html +46 -46
  117. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000015.html → M000041.html} +1 -1
  118. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000016.html → M000042.html} +1 -1
  119. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000017.html → M000043.html} +1 -2
  120. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000018.html → M000044.html} +1 -1
  121. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000019.html → M000045.html} +1 -1
  122. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000020.html → M000046.html} +1 -1
  123. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000021.html → M000047.html} +1 -1
  124. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000022.html → M000048.html} +1 -1
  125. data/doc/classes/Quickbooks/Qbxml/Response.src/{M000023.html → M000049.html} +22 -11
  126. data/doc/classes/Quickbooks/Qbxml/ResponseSet.html +35 -35
  127. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/{M000008.html → M000034.html} +1 -1
  128. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/{M000009.html → M000035.html} +1 -1
  129. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/{M000010.html → M000036.html} +1 -1
  130. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/{M000011.html → M000037.html} +1 -1
  131. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/{M000012.html → M000038.html} +1 -1
  132. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/{M000013.html → M000039.html} +1 -1
  133. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/{M000014.html → M000040.html} +1 -1
  134. data/doc/classes/Quickbooks/Ref.html +139 -0
  135. data/doc/classes/Quickbooks/Ref.src/M000096.html +18 -0
  136. data/doc/classes/Quickbooks/SalesRepRef.html +113 -0
  137. data/doc/classes/Quickbooks/SalesTaxCodeRef.html +113 -0
  138. data/doc/classes/Quickbooks/ShipAddress.html +113 -0
  139. data/doc/classes/Quickbooks/TermsRef.html +113 -0
  140. data/doc/classes/Quickbooks/Transaction.html +21 -62
  141. data/doc/classes/Quickbooks/Transaction.src/M000057.html +19 -0
  142. data/doc/classes/Quickbooks/Transaction.src/M000058.html +18 -0
  143. data/doc/created.rid +1 -1
  144. data/doc/files/README.html +15 -4
  145. data/doc/files/lib/quickbooks/base_rb.html +15 -8
  146. data/doc/files/lib/quickbooks/connection_rb.html +1 -1
  147. data/doc/files/lib/quickbooks/model_rb.html +108 -0
  148. data/doc/files/lib/quickbooks/{qbxml/error_rb.html → models/common/address_rb.html} +5 -5
  149. data/doc/files/lib/quickbooks/models/common/all_refs_rb.html +101 -0
  150. data/doc/files/lib/quickbooks/models/customer/credit_card_info_rb.html +101 -0
  151. data/doc/files/lib/quickbooks/models/customer_rb.html +10 -1
  152. data/doc/files/lib/quickbooks/models/list_item_rb.html +1 -1
  153. data/doc/files/lib/quickbooks/models/transaction_rb.html +1 -1
  154. data/doc/files/lib/quickbooks/ole_helper_rb.html +1 -1
  155. data/doc/files/lib/quickbooks/qbxml/request_rb.html +1 -1
  156. data/doc/files/lib/quickbooks/qbxml/response_rb.html +1 -2
  157. data/doc/files/lib/quickbooks/qbxml_rb.html +109 -0
  158. data/doc/files/lib/quickbooks/ruby_magic_rb.html +1 -1
  159. data/doc/fr_class_index.html +16 -1
  160. data/doc/fr_file_index.html +5 -1
  161. data/doc/fr_method_index.html +110 -68
  162. data/lib/quickbooks/base.rb +54 -95
  163. data/lib/quickbooks/connection.rb +2 -3
  164. data/lib/quickbooks/model.rb +176 -0
  165. data/lib/quickbooks/models/common/address.rb +14 -0
  166. data/lib/quickbooks/models/common/all_refs.rb +36 -0
  167. data/lib/quickbooks/models/customer.rb +30 -31
  168. data/lib/quickbooks/models/customer/credit_card_info.rb +5 -0
  169. data/lib/quickbooks/models/list_item.rb +27 -16
  170. data/lib/quickbooks/models/transaction.rb +21 -12
  171. data/lib/quickbooks/qbxml.rb +2 -0
  172. data/lib/quickbooks/qbxml/request.rb +80 -31
  173. data/lib/quickbooks/qbxml/response.rb +21 -12
  174. data/lib/quickbooks/ruby_magic.rb +130 -4
  175. metadata +146 -74
  176. data/doc/classes/Quickbooks/Base.src/M000038.html +0 -19
  177. data/doc/classes/Quickbooks/Base.src/M000039.html +0 -25
  178. data/doc/classes/Quickbooks/Base.src/M000040.html +0 -27
  179. data/doc/classes/Quickbooks/Base.src/M000044.html +0 -19
  180. data/doc/classes/Quickbooks/Base.src/M000053.html +0 -36
  181. data/doc/classes/Quickbooks/Base.src/M000055.html +0 -18
  182. data/doc/classes/Quickbooks/ListItem.src/M000033.html +0 -31
  183. data/doc/classes/Quickbooks/Qbxml/Request.src/M000024.html +0 -23
  184. data/doc/classes/Quickbooks/Qbxml/Request.src/M000026.html +0 -57
  185. data/doc/classes/Quickbooks/Transaction.src/M000032.html +0 -26
  186. data/lib/quickbooks/qbxml/error.rb +0 -20
@@ -0,0 +1,113 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Quickbooks::PreferredPaymentMethodRef</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Quickbooks::PreferredPaymentMethodRef</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/quickbooks/models/common/all_refs_rb.html">
59
+ lib/quickbooks/models/common/all_refs.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Ref.html">
69
+ Ref
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+
84
+
85
+ </div>
86
+
87
+
88
+ </div>
89
+
90
+
91
+ <!-- if includes -->
92
+
93
+ <div id="section">
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <!-- if method_list -->
103
+
104
+
105
+ </div>
106
+
107
+
108
+ <div id="validator-badges">
109
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
110
+ </div>
111
+
112
+ </body>
113
+ </html>
@@ -0,0 +1,113 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Quickbooks::PriceLevelRef</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Quickbooks::PriceLevelRef</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/quickbooks/models/common/all_refs_rb.html">
59
+ lib/quickbooks/models/common/all_refs.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Ref.html">
69
+ Ref
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+
84
+
85
+ </div>
86
+
87
+
88
+ </div>
89
+
90
+
91
+ <!-- if includes -->
92
+
93
+ <div id="section">
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <!-- if method_list -->
103
+
104
+
105
+ </div>
106
+
107
+
108
+ <div id="validator-badges">
109
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
110
+ </div>
111
+
112
+ </body>
113
+ </html>
@@ -55,10 +55,6 @@
55
55
  <tr class="top-aligned-row">
56
56
  <td><strong>In:</strong></td>
57
57
  <td>
58
- <a href="../../files/lib/quickbooks/qbxml/error_rb.html">
59
- lib/quickbooks/qbxml/error.rb
60
- </a>
61
- <br />
62
58
  <a href="../../files/lib/quickbooks/qbxml/request_rb.html">
63
59
  lib/quickbooks/qbxml/request.rb
64
60
  </a>
@@ -97,7 +93,6 @@
97
93
 
98
94
  Module <a href="Qbxml/RequestSetArrayExt.html" class="link">Quickbooks::Qbxml::RequestSetArrayExt</a><br />
99
95
  Module <a href="Qbxml/ResponseSetArrayExt.html" class="link">Quickbooks::Qbxml::ResponseSetArrayExt</a><br />
100
- Class <a href="Qbxml/Error.html" class="link">Quickbooks::Qbxml::Error</a><br />
101
96
  Class <a href="Qbxml/Request.html" class="link">Quickbooks::Qbxml::Request</a><br />
102
97
  Class <a href="Qbxml/RequestSet.html" class="link">Quickbooks::Qbxml::RequestSet</a><br />
103
98
  Class <a href="Qbxml/Response.html" class="link">Quickbooks::Qbxml::Response</a><br />
@@ -88,9 +88,9 @@
88
88
  <h3 class="section-bar">Methods</h3>
89
89
 
90
90
  <div class="name-list">
91
- <a href="#M000024">new</a>&nbsp;&nbsp;
92
- <a href="#M000025">next_request_id</a>&nbsp;&nbsp;
93
- <a href="#M000026">to_xml</a>&nbsp;&nbsp;
91
+ <a href="#M000050">new</a>&nbsp;&nbsp;
92
+ <a href="#M000051">next_request_id</a>&nbsp;&nbsp;
93
+ <a href="#M000052">to_xml</a>&nbsp;&nbsp;
94
94
  </div>
95
95
  </div>
96
96
 
@@ -112,33 +112,65 @@
112
112
  <div id="methods">
113
113
  <h3 class="section-bar">Public Class methods</h3>
114
114
 
115
- <div id="method-M000024" class="method-detail">
116
- <a name="M000024"></a>
115
+ <div id="method-M000050" class="method-detail">
116
+ <a name="M000050"></a>
117
117
 
118
118
  <div class="method-heading">
119
- <a href="Request.src/M000024.html" target="Code" class="method-signature"
120
- onclick="popupCode('Request.src/M000024.html');return false;">
121
- <span class="method-name">new</span><span class="method-args">(object, type, options={})</span>
119
+ <a href="Request.src/M000050.html" target="Code" class="method-signature"
120
+ onclick="popupCode('Request.src/M000050.html');return false;">
121
+ <span class="method-name">new</span><span class="method-args">(object, type, options_or_regexp={})</span>
122
122
  </a>
123
123
  </div>
124
124
 
125
125
  <div class="method-description">
126
- <p>
127
- @type = there are four types of queries&#8230; 1) List queries (:query) 2)
128
- <a href="../../Object.html">Object</a>-specific transaction query
129
- (:transaction) 3) Generic transaction query (:any_transaction) 4) Reports
130
- (:report) &#8230;and then there are Mod requests&#8230; # 1) Mod request
131
- (:mod)
126
+ <ol>
127
+ <li>List queries (:query)
128
+
129
+ </li>
130
+ </ol>
131
+ <pre>
132
+ Request.new(object, :query) # &lt;= will return the record matching the object supplied (automatically searches by list_id or txn_id)
133
+ Request.new(Customer, :query, :limit =&gt; 1) # &lt;= will return the first customer
134
+ Request.new(Customer, :query, /some match/) # &lt;= will return all customers matching the regexp
135
+ </pre>
136
+ <ol>
137
+ <li><a href="../../Object.html">Object</a>-specific transaction query
138
+ (:transaction)
139
+
140
+ </li>
141
+ </ol>
142
+ <pre>
143
+ Request.new(Transaction, :query) # &lt;= will return the transaction matching the object supplied
144
+ </pre>
145
+ <ol>
146
+ <li>Mod requests (:mod)
147
+
148
+ </li>
149
+ </ol>
150
+ <pre>
151
+ Request.new(object, :mod) # &lt;= will update the object
152
+ </pre>
153
+ <ol>
154
+ <li>Delete requests (:delete)
155
+
156
+ </li>
157
+ </ol>
158
+ <pre>
159
+ Request.new(object, :delete) # &lt;= will delete the object
160
+ </pre>
161
+ <p>
162
+ We want the attributes of the object when we are updating, but no other
163
+ time.
132
164
  </p>
133
165
  </div>
134
166
  </div>
135
167
 
136
- <div id="method-M000025" class="method-detail">
137
- <a name="M000025"></a>
168
+ <div id="method-M000051" class="method-detail">
169
+ <a name="M000051"></a>
138
170
 
139
171
  <div class="method-heading">
140
- <a href="Request.src/M000025.html" target="Code" class="method-signature"
141
- onclick="popupCode('Request.src/M000025.html');return false;">
172
+ <a href="Request.src/M000051.html" target="Code" class="method-signature"
173
+ onclick="popupCode('Request.src/M000051.html');return false;">
142
174
  <span class="method-name">next_request_id</span><span class="method-args">()</span>
143
175
  </a>
144
176
  </div>
@@ -149,12 +181,12 @@
149
181
 
150
182
  <h3 class="section-bar">Public Instance methods</h3>
151
183
 
152
- <div id="method-M000026" class="method-detail">
153
- <a name="M000026"></a>
184
+ <div id="method-M000052" class="method-detail">
185
+ <a name="M000052"></a>
154
186
 
155
187
  <div class="method-heading">
156
- <a href="Request.src/M000026.html" target="Code" class="method-signature"
157
- onclick="popupCode('Request.src/M000026.html');return false;">
188
+ <a href="Request.src/M000052.html" target="Code" class="method-signature"
189
+ onclick="popupCode('Request.src/M000052.html');return false;">
158
190
  <span class="method-name">to_xml</span><span class="method-args">(as_set=true)</span>
159
191
  </a>
160
192
  </div>
@@ -162,7 +194,7 @@
162
194
  <div class="method-description">
163
195
  <p>
164
196
  This is where the magic happens to convert a request object into xml worthy
165
- of sending off to quickbooks.
197
+ of quickbooks.
166
198
  </p>
167
199
  </div>
168
200
  </div>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (Quickbooks::Qbxml::Request)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/quickbooks/qbxml/request.rb, line 64</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">object</span>, <span class="ruby-identifier">type</span>, <span class="ruby-identifier">options_or_regexp</span>={})
15
+ <span class="ruby-identifier">options</span> = <span class="ruby-identifier">options_or_regexp</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Regexp</span>) <span class="ruby-operator">?</span> {<span class="ruby-identifier">:matches</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options_or_regexp</span>} <span class="ruby-operator">:</span> <span class="ruby-identifier">options_or_regexp</span>
16
+ <span class="ruby-ivar">@type</span> = <span class="ruby-identifier">type</span>
17
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;Quickbooks::Qbxml::Requests can only be of one of the following types: :query, :transaction, :any_transaction, :mod, :add, :delete, or :report&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">is_one_of?</span>(<span class="ruby-identifier">:query</span>, <span class="ruby-identifier">:transaction</span>, <span class="ruby-identifier">:any_transaction</span>, <span class="ruby-identifier">:mod</span>, <span class="ruby-identifier">:report</span>, <span class="ruby-identifier">:add</span>, <span class="ruby-identifier">:delete</span>)
18
+ <span class="ruby-ivar">@klass</span> = <span class="ruby-identifier">object</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Class</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">object</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">object</span>.<span class="ruby-identifier">class</span>
19
+ <span class="ruby-ivar">@object</span> = <span class="ruby-identifier">object</span>
20
+ <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
21
+
22
+ <span class="ruby-comment cmt"># Return only specific properties: Request.new(Customer, :query, :only =&gt; [:list_id, :full_name]); Quickbooks::Customer.first(:only =&gt; :list_id)</span>
23
+ <span class="ruby-ivar">@ret_elements</span> = <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">:only</span>).<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">only</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">properties</span>).<span class="ruby-identifier">order!</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">properties</span>).<span class="ruby-identifier">stringify_values</span>.<span class="ruby-identifier">camelize_values!</span>(<span class="ruby-constant">Quickbooks</span><span class="ruby-operator">::</span><span class="ruby-constant">CAMELIZE_EXCEPTIONS</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">:only</span>)
24
+
25
+ <span class="ruby-comment cmt"># Includes only valid filters + aliases for valid filters, then transforms aliased filters to real filters, then camelizes keys to prepare for writing to XML, lastly orders the keys to a valid filter order.</span>
26
+ <span class="ruby-comment cmt"># You may optionally have ListID OR FullName OR ( MaxReturned AND ActiveStatus AND FromModifiedDate AND ToModifiedDate AND ( NameFilter OR NameRangeFilter ) )</span>
27
+ <span class="ruby-ivar">@filters</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">stringify_keys</span>.<span class="ruby-identifier">only</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">valid_filters</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">filter_aliases</span>.<span class="ruby-identifier">keys</span>).<span class="ruby-identifier">transform_keys!</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">filter_aliases</span>).<span class="ruby-identifier">camelize_keys!</span>(<span class="ruby-constant">Quickbooks</span><span class="ruby-operator">::</span><span class="ruby-constant">CAMELIZE_EXCEPTIONS</span>).<span class="ruby-identifier">order!</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">camelized_valid_filters</span>)
28
+
29
+ <span class="ruby-comment cmt"># Complain if:</span>
30
+ <span class="ruby-comment cmt"># 1) type is :mod or :delete, and object supplied is not a valid model</span>
31
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;A Quickbooks record object must be supplied to perform an add, mod or del action&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">is_one_of?</span>(<span class="ruby-identifier">:add</span>, <span class="ruby-identifier">:mod</span>, <span class="ruby-identifier">:delete</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@object</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Quickbooks</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>)
32
+ <span class="ruby-keyword kw">end</span></pre>
33
+ </body>
34
+ </html>
@@ -10,9 +10,9 @@
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/quickbooks/qbxml/request.rb, line 69</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/quickbooks/qbxml/request.rb, line 84</span>
14
14
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">next_request_id</span>
15
- <span class="ruby-ivar">@request_id</span> <span class="ruby-operator">||=</span> <span class="ruby-value">5000</span>
15
+ <span class="ruby-ivar">@request_id</span> <span class="ruby-operator">||=</span> <span class="ruby-value">0</span>
16
16
  <span class="ruby-ivar">@request_id</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
17
17
  <span class="ruby-keyword kw">end</span></pre>
18
18
  </body>
@@ -0,0 +1,81 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>to_xml (Quickbooks::Qbxml::Request)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File lib/quickbooks/qbxml/request.rb, line 90</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_xml</span>(<span class="ruby-identifier">as_set</span>=<span class="ruby-keyword kw">true</span>)
15
+ <span class="ruby-keyword kw">return</span> (<span class="ruby-constant">RequestSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)).<span class="ruby-identifier">to_xml</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">as_set</span> <span class="ruby-comment cmt"># Simple call yields xml as a single request in a request set. However, if the xml for the lone request is required, pass false.</span>
16
+ <span class="ruby-identifier">req</span> = <span class="ruby-constant">Builder</span><span class="ruby-operator">::</span><span class="ruby-constant">XmlMarkup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:indent</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">2</span>)
17
+ <span class="ruby-identifier">request_root</span>, <span class="ruby-identifier">container</span> = <span class="ruby-keyword kw">case</span>
18
+ <span class="ruby-keyword kw">when</span> <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">is_one_of?</span>(<span class="ruby-identifier">:query</span>)
19
+ [<span class="ruby-node">&quot;#{@klass.class_leaf_name}QueryRq&quot;</span>, <span class="ruby-keyword kw">nil</span>]
20
+ <span class="ruby-keyword kw">when</span> <span class="ruby-ivar">@type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:add</span>
21
+ [<span class="ruby-node">&quot;#{@klass.class_leaf_name}AddRq&quot;</span>, <span class="ruby-node">&quot;#{@klass.class_leaf_name}Add&quot;</span>]
22
+ <span class="ruby-keyword kw">when</span> <span class="ruby-ivar">@type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:mod</span>
23
+ [<span class="ruby-node">&quot;#{@klass.class_leaf_name}ModRq&quot;</span>, <span class="ruby-node">&quot;#{@klass.class_leaf_name}Mod&quot;</span>]
24
+ <span class="ruby-keyword kw">when</span> <span class="ruby-ivar">@type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:delete</span>
25
+ [<span class="ruby-node">&quot;#{@klass.ListOrTxn}DelRq&quot;</span>, <span class="ruby-keyword kw">nil</span>]
26
+ <span class="ruby-keyword kw">else</span>
27
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">RuntimeError</span>, <span class="ruby-node">&quot;Could not convert this request to qbxml!\n#{self.inspect}&quot;</span>
28
+ <span class="ruby-keyword kw">end</span>
29
+ <span class="ruby-identifier">inner_stuff</span> = <span class="ruby-identifier">lambda</span> {
30
+ <span class="ruby-identifier">deep_tag</span> = <span class="ruby-identifier">lambda</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
31
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>)
32
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
33
+ <span class="ruby-identifier">v</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
34
+ <span class="ruby-identifier">deep_tag</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>)
35
+ }
36
+ <span class="ruby-keyword kw">else</span>
37
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-identifier">k</span>.<span class="ruby-identifier">camelcase</span>) { <span class="ruby-identifier">v</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">deep_tag</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span>) } }
38
+ <span class="ruby-keyword kw">end</span>
39
+ <span class="ruby-keyword kw">else</span>
40
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-identifier">k</span>.<span class="ruby-identifier">camelcase</span>,<span class="ruby-identifier">uncast</span>(<span class="ruby-identifier">v</span>))
41
+ <span class="ruby-keyword kw">end</span>
42
+ }
43
+
44
+ <span class="ruby-comment cmt"># Add the specific elements for the respective request type</span>
45
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@type</span>.<span class="ruby-identifier">is_one_of?</span>(<span class="ruby-identifier">:add</span>, <span class="ruby-identifier">:mod</span>)
46
+ <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:mod</span>
47
+ <span class="ruby-comment cmt"># First the ObjectId:</span>
48
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-constant">ListOrTxn</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'ID'</span>, <span class="ruby-ivar">@object</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{@klass.ListOrTxn}Id&quot;</span>.<span class="ruby-identifier">underscore</span>))
49
+ <span class="ruby-comment cmt"># Second the EditSequence</span>
50
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-value str">'EditSequence'</span>, <span class="ruby-ivar">@object</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">:edit_sequence</span>))
51
+ <span class="ruby-keyword kw">end</span>
52
+ <span class="ruby-comment cmt"># Then, all the dirty_attributes</span>
53
+ <span class="ruby-identifier">deep_tag</span>.<span class="ruby-identifier">call</span>(<span class="ruby-value str">''</span>,<span class="ruby-ivar">@object</span>.<span class="ruby-identifier">to_dirty_hash</span>) <span class="ruby-comment cmt"># (this is an hash statically ordered to the model's qbxml attribute order)</span>
54
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:query</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@object</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@klass</span>
55
+ <span class="ruby-comment cmt"># Sent an instance object for a query - we should include the ListId/TxnId (then other filters?)</span>
56
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-constant">ListOrTxn</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'ID'</span>, <span class="ruby-ivar">@object</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{@klass.ListOrTxn}Id&quot;</span>.<span class="ruby-identifier">underscore</span>))
57
+ <span class="ruby-identifier">deep_tag</span>.<span class="ruby-identifier">call</span>(<span class="ruby-value str">''</span>, <span class="ruby-ivar">@filters</span>)
58
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@type</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">:delete</span>
59
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-constant">ListOrTxn</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'DelType'</span>, <span class="ruby-ivar">@klass</span>.<span class="ruby-identifier">class_leaf_name</span>)
60
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-ivar">@klass</span>.<span class="ruby-constant">ListOrTxn</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'ID'</span>, <span class="ruby-ivar">@object</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{@klass.ListOrTxn}Id&quot;</span>.<span class="ruby-identifier">underscore</span>))
61
+ <span class="ruby-keyword kw">else</span>
62
+ <span class="ruby-comment cmt"># just filters</span>
63
+ <span class="ruby-identifier">deep_tag</span>.<span class="ruby-identifier">call</span>(<span class="ruby-value str">''</span>, <span class="ruby-ivar">@filters</span>)
64
+ <span class="ruby-keyword kw">end</span>
65
+ <span class="ruby-comment cmt"># Lastly, specify the fields to return, if desired</span>
66
+ <span class="ruby-ivar">@ret_elements</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-value str">'IncludeRetElement'</span>, <span class="ruby-identifier">r</span>) } <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@ret_elements</span>.<span class="ruby-identifier">blank?</span>
67
+ }
68
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-identifier">request_root</span>, <span class="ruby-identifier">:requestID</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">next_request_id</span>) {
69
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">container</span>
70
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">tag!</span>(<span class="ruby-identifier">container</span>) {
71
+ <span class="ruby-identifier">inner_stuff</span>.<span class="ruby-identifier">call</span>
72
+ }
73
+ <span class="ruby-keyword kw">else</span>
74
+ <span class="ruby-identifier">inner_stuff</span>.<span class="ruby-identifier">call</span>
75
+ <span class="ruby-keyword kw">end</span>
76
+ }
77
+ <span class="ruby-comment cmt"># puts req.target!</span>
78
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">target!</span>
79
+ <span class="ruby-keyword kw">end</span></pre>
80
+ </body>
81
+ </html>