quickbooks 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (294) hide show
  1. data/LICENSE +1 -1
  2. data/Rakefile +4 -2
  3. data/doc/classes/Array.html +333 -40
  4. data/doc/classes/Array.src/M000037.html +18 -0
  5. data/doc/classes/Array.src/M000038.html +21 -0
  6. data/doc/classes/Array.src/M000039.html +18 -0
  7. data/doc/classes/Array.src/M000040.html +19 -0
  8. data/doc/classes/Array.src/M000041.html +18 -0
  9. data/doc/classes/Array.src/{M000004.html → M000042.html} +1 -1
  10. data/doc/classes/Array.src/M000043.html +18 -0
  11. data/doc/classes/Array.src/M000044.html +18 -0
  12. data/doc/classes/Array.src/{M000001.html → M000045.html} +1 -1
  13. data/doc/classes/Array.src/{M000002.html → M000046.html} +1 -1
  14. data/doc/classes/Array.src/{M000003.html → M000047.html} +1 -1
  15. data/doc/classes/Array.src/M000048.html +23 -0
  16. data/doc/classes/Array.src/{M000005.html → M000049.html} +1 -1
  17. data/doc/classes/Array.src/{M000006.html → M000050.html} +2 -2
  18. data/doc/classes/Array.src/{M000007.html → M000051.html} +1 -1
  19. data/doc/classes/Array.src/{M000008.html → M000052.html} +1 -1
  20. data/doc/classes/Array.src/M000053.html +18 -0
  21. data/doc/classes/Array.src/M000054.html +20 -0
  22. data/doc/classes/Array.src/M000055.html +18 -0
  23. data/doc/classes/Array.src/M000056.html +34 -0
  24. data/doc/classes/Array.src/M000057.html +19 -0
  25. data/doc/classes/Array.src/M000058.html +29 -0
  26. data/doc/classes/Array.src/M000059.html +18 -0
  27. data/doc/classes/Array.src/M000060.html +20 -0
  28. data/doc/classes/Array.src/M000061.html +18 -0
  29. data/doc/classes/Array.src/M000062.html +18 -0
  30. data/doc/classes/Array.src/M000063.html +19 -0
  31. data/doc/classes/Class.html +25 -6
  32. data/doc/classes/Class.src/M000075.html +18 -0
  33. data/doc/classes/Class.src/M000076.html +18 -0
  34. data/doc/classes/Hash.html +329 -103
  35. data/doc/classes/Hash.src/M000004.html +18 -0
  36. data/doc/classes/Hash.src/M000005.html +21 -0
  37. data/doc/classes/Hash.src/M000006.html +18 -0
  38. data/doc/classes/Hash.src/M000007.html +21 -0
  39. data/doc/classes/Hash.src/M000008.html +18 -0
  40. data/doc/classes/Hash.src/M000009.html +6 -4
  41. data/doc/classes/Hash.src/M000010.html +4 -7
  42. data/doc/classes/Hash.src/M000011.html +8 -4
  43. data/doc/classes/Hash.src/M000012.html +4 -7
  44. data/doc/classes/Hash.src/M000013.html +7 -4
  45. data/doc/classes/Hash.src/M000014.html +4 -7
  46. data/doc/classes/Hash.src/M000015.html +6 -12
  47. data/doc/classes/Hash.src/M000016.html +4 -6
  48. data/doc/classes/Hash.src/M000017.html +7 -4
  49. data/doc/classes/Hash.src/M000018.html +4 -6
  50. data/doc/classes/Hash.src/M000019.html +5 -22
  51. data/doc/classes/Hash.src/M000020.html +14 -5
  52. data/doc/classes/Hash.src/M000021.html +7 -5
  53. data/doc/classes/Hash.src/M000022.html +5 -7
  54. data/doc/classes/Hash.src/M000023.html +7 -5
  55. data/doc/classes/Hash.src/M000024.html +5 -5
  56. data/doc/classes/Hash.src/M000025.html +4 -4
  57. data/doc/classes/Hash.src/M000026.html +4 -8
  58. data/doc/classes/Hash.src/M000027.html +22 -0
  59. data/doc/classes/Hash.src/M000028.html +18 -0
  60. data/doc/classes/Hash.src/M000029.html +20 -0
  61. data/doc/classes/Hash.src/M000030.html +18 -0
  62. data/doc/classes/Hash.src/M000031.html +30 -0
  63. data/doc/classes/Hash.src/M000032.html +19 -0
  64. data/doc/classes/Hash.src/M000033.html +19 -0
  65. data/doc/classes/Hash.src/M000034.html +18 -0
  66. data/doc/classes/Hash.src/M000035.html +18 -0
  67. data/doc/classes/Hash.src/M000036.html +21 -0
  68. data/doc/classes/Object.html +75 -39
  69. data/doc/classes/Object.src/M000077.html +24 -0
  70. data/doc/classes/Object.src/M000078.html +19 -0
  71. data/doc/classes/Object.src/{M000028.html → M000079.html} +1 -1
  72. data/doc/classes/Object.src/{M000029.html → M000080.html} +1 -1
  73. data/doc/classes/Object.src/{M000030.html → M000081.html} +1 -1
  74. data/doc/classes/Object.src/{M000031.html → M000082.html} +1 -1
  75. data/doc/classes/Object.src/{M000032.html → M000083.html} +1 -1
  76. data/doc/classes/Object.src/{M000033.html → M000084.html} +2 -2
  77. data/doc/classes/OrderedArray.html +178 -0
  78. data/doc/classes/OrderedArray.src/M000001.html +18 -0
  79. data/doc/classes/OrderedArray.src/M000002.html +18 -0
  80. data/doc/classes/OrderedArray.src/M000003.html +18 -0
  81. data/doc/classes/OrderedHash.html +324 -0
  82. data/doc/classes/OrderedHash.src/M000064.html +19 -0
  83. data/doc/classes/OrderedHash.src/M000065.html +18 -0
  84. data/doc/classes/OrderedHash.src/M000066.html +18 -0
  85. data/doc/classes/OrderedHash.src/M000067.html +18 -0
  86. data/doc/classes/OrderedHash.src/M000068.html +18 -0
  87. data/doc/classes/OrderedHash.src/M000069.html +18 -0
  88. data/doc/classes/OrderedHash.src/M000070.html +20 -0
  89. data/doc/classes/OrderedHash.src/M000071.html +18 -0
  90. data/doc/classes/OrderedHash.src/M000072.html +18 -0
  91. data/doc/classes/OrderedHash.src/M000073.html +19 -0
  92. data/doc/classes/OrderedHash.src/M000074.html +24 -0
  93. data/doc/classes/{Quickbooks/Qbxml.html → Qbxml.html} +11 -13
  94. data/doc/classes/{Quickbooks/Qbxml → Qbxml}/Request.html +32 -22
  95. data/doc/classes/Qbxml/Request.src/M000184.html +65 -0
  96. data/doc/classes/Qbxml/Request.src/M000185.html +19 -0
  97. data/doc/classes/Qbxml/Request.src/M000186.html +83 -0
  98. data/doc/classes/{Quickbooks/Qbxml → Qbxml}/RequestSet.html +32 -26
  99. data/doc/classes/{Quickbooks/Connection.src/M000104.html → Qbxml/RequestSet.src/M000187.html} +7 -5
  100. data/doc/classes/Qbxml/RequestSet.src/M000188.html +26 -0
  101. data/doc/classes/Qbxml/RequestSet.src/M000189.html +18 -0
  102. data/doc/classes/Qbxml/RequestSet.src/M000190.html +22 -0
  103. data/doc/classes/{Quickbooks/Qbxml → Qbxml}/Response.html +51 -51
  104. data/doc/classes/Qbxml/Response.src/M000175.html +24 -0
  105. data/doc/classes/Qbxml/Response.src/M000176.html +19 -0
  106. data/doc/classes/Qbxml/Response.src/M000177.html +55 -0
  107. data/doc/classes/{Quickbooks/Connection.src/M000097.html → Qbxml/Response.src/M000178.html} +4 -4
  108. data/doc/classes/Qbxml/Response.src/M000179.html +18 -0
  109. data/doc/classes/Qbxml/Response.src/M000180.html +18 -0
  110. data/doc/classes/{Quickbooks/Connection.src/M000100.html → Qbxml/Response.src/M000181.html} +4 -4
  111. data/doc/classes/{Quickbooks/Connection.src/M000101.html → Qbxml/Response.src/M000182.html} +4 -4
  112. data/doc/classes/Qbxml/Response.src/M000183.html +63 -0
  113. data/doc/classes/{Quickbooks/Qbxml → Qbxml}/ResponseSet.html +47 -41
  114. data/doc/classes/Qbxml/ResponseSet.src/M000168.html +22 -0
  115. data/doc/classes/Qbxml/ResponseSet.src/M000169.html +26 -0
  116. data/doc/classes/Qbxml/ResponseSet.src/M000170.html +24 -0
  117. data/doc/classes/Qbxml/ResponseSet.src/M000171.html +20 -0
  118. data/doc/classes/Qbxml/ResponseSet.src/M000172.html +27 -0
  119. data/doc/classes/Qbxml/ResponseSet.src/M000173.html +18 -0
  120. data/doc/classes/Qbxml/ResponseSet.src/M000174.html +18 -0
  121. data/doc/classes/Quickbooks.html +24 -10
  122. data/doc/classes/Quickbooks/Address.html +5 -5
  123. data/doc/classes/Quickbooks/Address.src/{M000107.html → M000150.html} +0 -0
  124. data/doc/classes/Quickbooks/Base.html +133 -120
  125. data/doc/classes/Quickbooks/Base.src/{M000080.html → M000131.html} +1 -1
  126. data/doc/classes/Quickbooks/Base.src/M000132.html +20 -0
  127. data/doc/classes/Quickbooks/Base.src/M000133.html +19 -0
  128. data/doc/classes/Quickbooks/Base.src/{M000082.html → M000134.html} +1 -1
  129. data/doc/classes/Quickbooks/Base.src/{M000083.html → M000135.html} +2 -2
  130. data/doc/classes/Quickbooks/Base.src/M000136.html +30 -0
  131. data/doc/classes/Quickbooks/Base.src/{M000085.html → M000137.html} +1 -1
  132. data/doc/classes/Quickbooks/Base.src/{M000086.html → M000138.html} +2 -2
  133. data/doc/classes/Quickbooks/Base.src/{M000087.html → M000139.html} +2 -2
  134. data/doc/classes/Quickbooks/Base.src/{M000088.html → M000140.html} +2 -2
  135. data/doc/classes/Quickbooks/Base.src/{M000089.html → M000141.html} +1 -1
  136. data/doc/classes/Quickbooks/Base.src/{M000090.html → M000142.html} +1 -1
  137. data/doc/classes/Quickbooks/Base.src/{M000091.html → M000143.html} +1 -1
  138. data/doc/classes/Quickbooks/Base.src/{M000092.html → M000144.html} +3 -3
  139. data/doc/classes/Quickbooks/Base.src/{M000093.html → M000145.html} +2 -2
  140. data/doc/classes/Quickbooks/Base.src/{M000094.html → M000146.html} +2 -2
  141. data/doc/classes/Quickbooks/Base.src/{M000095.html → M000147.html} +1 -1
  142. data/doc/classes/Quickbooks/{Qbxml/ResponseSetArrayExt.html → Deleted.html} +14 -6
  143. data/doc/classes/Quickbooks/ListDeleted.html +139 -0
  144. data/doc/classes/Quickbooks/ListDeleted.src/M000149.html +18 -0
  145. data/doc/classes/Quickbooks/ListItem.html +11 -11
  146. data/doc/classes/Quickbooks/ListItem.src/M000129.html +19 -0
  147. data/doc/classes/Quickbooks/ListItem.src/{M000079.html → M000130.html} +4 -4
  148. data/doc/classes/Quickbooks/Model.html +110 -110
  149. data/doc/classes/Quickbooks/Model.src/{M000059.html → M000109.html} +4 -3
  150. data/doc/classes/Quickbooks/Model.src/{M000060.html → M000110.html} +2 -2
  151. data/doc/classes/Quickbooks/Model.src/{M000061.html → M000111.html} +2 -2
  152. data/doc/classes/Quickbooks/Model.src/{M000062.html → M000112.html} +3 -2
  153. data/doc/classes/Quickbooks/Model.src/{M000063.html → M000113.html} +1 -1
  154. data/doc/classes/Quickbooks/Model.src/M000114.html +22 -0
  155. data/doc/classes/Quickbooks/Model.src/{M000065.html → M000115.html} +2 -2
  156. data/doc/classes/Quickbooks/Model.src/{M000066.html → M000116.html} +2 -2
  157. data/doc/classes/Quickbooks/Model.src/{M000067.html → M000117.html} +1 -1
  158. data/doc/classes/Quickbooks/Model.src/{M000068.html → M000118.html} +1 -1
  159. data/doc/classes/Quickbooks/Model.src/{M000069.html → M000119.html} +1 -1
  160. data/doc/classes/Quickbooks/Model.src/{M000070.html → M000120.html} +1 -1
  161. data/doc/classes/Quickbooks/Model.src/{M000071.html → M000121.html} +1 -1
  162. data/doc/classes/Quickbooks/Model.src/{M000072.html → M000122.html} +1 -1
  163. data/doc/classes/Quickbooks/Model.src/{M000073.html → M000123.html} +2 -2
  164. data/doc/classes/Quickbooks/Model.src/{M000074.html → M000124.html} +3 -3
  165. data/doc/classes/Quickbooks/Model.src/{M000075.html → M000125.html} +3 -3
  166. data/doc/classes/Quickbooks/Model.src/{M000076.html → M000126.html} +1 -1
  167. data/doc/classes/Quickbooks/Model.src/{M000077.html → M000127.html} +1 -1
  168. data/doc/classes/{QBHelpers.html → Quickbooks/OleAdapter.html} +19 -9
  169. data/doc/classes/Quickbooks/{Connection.html → OleAdapter/Connection.html} +80 -106
  170. data/doc/classes/Quickbooks/{Qbxml/Response.src/M000044.html → OleAdapter/Connection.src/M000094.html} +4 -4
  171. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000095.html +19 -0
  172. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000096.html +24 -0
  173. data/doc/classes/Quickbooks/{Qbxml/Response.src/M000047.html → OleAdapter/Connection.src/M000097.html} +4 -4
  174. data/doc/classes/Quickbooks/{Qbxml/Response.src/M000048.html → OleAdapter/Connection.src/M000098.html} +4 -4
  175. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000099.html +21 -0
  176. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000100.html +24 -0
  177. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000101.html +20 -0
  178. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000102.html +24 -0
  179. data/doc/classes/Quickbooks/OleAdapter/Connection.src/M000103.html +24 -0
  180. data/doc/classes/{QBHelpers → Quickbooks/OleAdapter}/Ole.html +24 -24
  181. data/doc/classes/Quickbooks/OleAdapter/Ole.src/M000104.html +21 -0
  182. data/doc/classes/Quickbooks/OleAdapter/Ole.src/M000105.html +22 -0
  183. data/doc/classes/Quickbooks/OleAdapter/Ole.src/M000106.html +18 -0
  184. data/doc/classes/Quickbooks/{Qbxml/RequestSetArrayExt.html → QbxmlDebugAdapter.html} +11 -5
  185. data/doc/classes/Quickbooks/QbxmlDebugAdapter/Connection.html +139 -0
  186. data/doc/classes/Quickbooks/{Qbxml/RequestSet.src/M000055.html → QbxmlDebugAdapter/Connection.src/M000093.html} +4 -4
  187. data/doc/classes/Quickbooks/Ref.html +5 -5
  188. data/doc/classes/Quickbooks/Ref.src/{M000096.html → M000148.html} +0 -0
  189. data/doc/classes/Quickbooks/Transaction.html +10 -10
  190. data/doc/classes/Quickbooks/Transaction.src/{M000057.html → M000107.html} +0 -0
  191. data/doc/classes/Quickbooks/Transaction.src/{M000058.html → M000108.html} +0 -0
  192. data/doc/classes/Quickbooks/TxnDeleted.html +139 -0
  193. data/doc/classes/Quickbooks/TxnDeleted.src/M000128.html +18 -0
  194. data/doc/classes/SlashedArray.html +226 -0
  195. data/doc/classes/SlashedArray.src/M000161.html +23 -0
  196. data/doc/classes/SlashedArray.src/M000162.html +18 -0
  197. data/doc/classes/SlashedArray.src/M000163.html +18 -0
  198. data/doc/classes/SlashedArray.src/M000164.html +22 -0
  199. data/doc/classes/SlashedArray.src/M000165.html +22 -0
  200. data/doc/classes/SlashedArray.src/M000166.html +18 -0
  201. data/doc/classes/SlashedArray.src/M000167.html +22 -0
  202. data/doc/classes/SlashedHash.html +193 -0
  203. data/doc/classes/SlashedHash.src/M000156.html +22 -0
  204. data/doc/classes/SlashedHash.src/M000157.html +18 -0
  205. data/doc/classes/SlashedHash.src/M000158.html +18 -0
  206. data/doc/classes/SlashedHash.src/M000159.html +27 -0
  207. data/doc/classes/SlashedHash.src/M000160.html +22 -0
  208. data/doc/classes/String.html +269 -0
  209. data/doc/classes/String.src/M000085.html +18 -0
  210. data/doc/classes/String.src/M000086.html +18 -0
  211. data/doc/classes/String.src/M000087.html +18 -0
  212. data/doc/classes/String.src/M000088.html +18 -0
  213. data/doc/classes/String.src/M000089.html +18 -0
  214. data/doc/classes/String.src/M000090.html +18 -0
  215. data/doc/classes/String.src/M000091.html +18 -0
  216. data/doc/classes/String.src/M000092.html +97 -0
  217. data/doc/classes/UniqueArray.html +193 -0
  218. data/doc/classes/UniqueArray.src/M000151.html +25 -0
  219. data/doc/classes/UniqueArray.src/M000152.html +18 -0
  220. data/doc/classes/UniqueArray.src/M000153.html +20 -0
  221. data/doc/classes/UniqueArray.src/M000154.html +20 -0
  222. data/doc/classes/UniqueArray.src/M000155.html +20 -0
  223. data/doc/created.rid +1 -1
  224. data/doc/files/LICENSE.html +2 -2
  225. data/doc/files/lib/{quickbooks/connection_rb.html → qbxml/request_rb.html} +6 -6
  226. data/doc/files/lib/{quickbooks/qbxml_rb.html → qbxml/response_rb.html} +6 -6
  227. data/doc/files/lib/{quickbooks/qbxml/request_rb.html → qbxml/support_rb.html} +6 -7
  228. data/doc/files/lib/qbxml_rb.html +109 -0
  229. data/doc/files/lib/quickbooks/{qbxml/response_rb.html → adapters/ole_adapter_rb.html} +5 -5
  230. data/doc/files/lib/quickbooks/adapters/qbxml_debug_adapter_rb.html +108 -0
  231. data/doc/files/lib/quickbooks/base_rb.html +2 -4
  232. data/doc/files/lib/quickbooks/model_rb.html +2 -1
  233. data/doc/files/lib/quickbooks/models/customer_rb.html +1 -1
  234. data/doc/files/lib/quickbooks/models/deleted_rb.html +101 -0
  235. data/doc/files/lib/quickbooks/models/list_item_rb.html +1 -1
  236. data/doc/files/lib/quickbooks/ruby_magic_rb.html +9 -1
  237. data/doc/files/lib/quickbooks/{ole_helper_rb.html → structure_rb.html} +20 -7
  238. data/doc/files/lib/quickbooks_rb.html +2 -3
  239. data/doc/fr_class_index.html +19 -10
  240. data/doc/fr_file_index.html +8 -5
  241. data/doc/fr_method_index.html +190 -110
  242. data/lib/qbxml.rb +2 -0
  243. data/lib/qbxml/request.rb +205 -0
  244. data/lib/qbxml/response.rb +197 -0
  245. data/lib/qbxml/support.rb +130 -0
  246. data/lib/quickbooks.rb +1 -2
  247. data/lib/quickbooks/adapters/ole_adapter.rb +148 -0
  248. data/lib/quickbooks/adapters/qbxml_debug_adapter.rb +10 -0
  249. data/lib/quickbooks/base.rb +33 -24
  250. data/lib/quickbooks/model.rb +20 -13
  251. data/lib/quickbooks/models/customer.rb +1 -1
  252. data/lib/quickbooks/models/deleted.rb +22 -0
  253. data/lib/quickbooks/models/list_item.rb +29 -27
  254. data/lib/quickbooks/ruby_magic.rb +31 -28
  255. data/lib/quickbooks/structure.rb +393 -0
  256. metadata +242 -127
  257. data/doc/classes/Class.src/M000027.html +0 -18
  258. data/doc/classes/QBHelpers/Ole.src/M000108.html +0 -21
  259. data/doc/classes/QBHelpers/Ole.src/M000109.html +0 -22
  260. data/doc/classes/QBHelpers/Ole.src/M000110.html +0 -18
  261. data/doc/classes/Quickbooks/Base.src/M000081.html +0 -18
  262. data/doc/classes/Quickbooks/Base.src/M000084.html +0 -23
  263. data/doc/classes/Quickbooks/Connection.src/M000098.html +0 -19
  264. data/doc/classes/Quickbooks/Connection.src/M000099.html +0 -24
  265. data/doc/classes/Quickbooks/Connection.src/M000102.html +0 -21
  266. data/doc/classes/Quickbooks/Connection.src/M000103.html +0 -24
  267. data/doc/classes/Quickbooks/Connection.src/M000105.html +0 -24
  268. data/doc/classes/Quickbooks/Connection.src/M000106.html +0 -24
  269. data/doc/classes/Quickbooks/ListItem.src/M000078.html +0 -19
  270. data/doc/classes/Quickbooks/Model.src/M000064.html +0 -18
  271. data/doc/classes/Quickbooks/Qbxml/Request.src/M000050.html +0 -34
  272. data/doc/classes/Quickbooks/Qbxml/Request.src/M000051.html +0 -19
  273. data/doc/classes/Quickbooks/Qbxml/Request.src/M000052.html +0 -81
  274. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/M000053.html +0 -22
  275. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/M000054.html +0 -26
  276. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/M000056.html +0 -22
  277. data/doc/classes/Quickbooks/Qbxml/Response.src/M000041.html +0 -24
  278. data/doc/classes/Quickbooks/Qbxml/Response.src/M000042.html +0 -19
  279. data/doc/classes/Quickbooks/Qbxml/Response.src/M000043.html +0 -44
  280. data/doc/classes/Quickbooks/Qbxml/Response.src/M000045.html +0 -18
  281. data/doc/classes/Quickbooks/Qbxml/Response.src/M000046.html +0 -18
  282. data/doc/classes/Quickbooks/Qbxml/Response.src/M000049.html +0 -63
  283. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000034.html +0 -22
  284. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000035.html +0 -26
  285. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000036.html +0 -24
  286. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000037.html +0 -18
  287. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000038.html +0 -27
  288. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000039.html +0 -18
  289. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000040.html +0 -18
  290. data/lib/quickbooks/connection.rb +0 -105
  291. data/lib/quickbooks/ole_helper.rb +0 -47
  292. data/lib/quickbooks/qbxml.rb +0 -2
  293. data/lib/quickbooks/qbxml/request.rb +0 -169
  294. data/lib/quickbooks/qbxml/response.rb +0 -185
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Fri Jan 11 16:22:01 -0500 2008</td>
59
+ <td>Tue Mar 18 13:56:06 -0400 2008</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -73,12 +73,11 @@
73
73
  <h3 class="section-bar">Required files</h3>
74
74
 
75
75
  <div class="name-list">
76
- rubygems&nbsp;&nbsp;
77
- quickbooks/connection&nbsp;&nbsp;
78
76
  quickbooks/base&nbsp;&nbsp;
79
77
  quickbooks/models/list_item&nbsp;&nbsp;
80
78
  quickbooks/models/transaction&nbsp;&nbsp;
81
79
  quickbooks/models/customer&nbsp;&nbsp;
80
+ quickbooks/models/deleted&nbsp;&nbsp;
82
81
  </div>
83
82
  </div>
84
83
 
@@ -24,36 +24,45 @@
24
24
  <a href="classes/Class.html">Class</a><br />
25
25
  <a href="classes/Hash.html">Hash</a><br />
26
26
  <a href="classes/Object.html">Object</a><br />
27
- <a href="classes/QBHelpers.html">QBHelpers</a><br />
28
- <a href="classes/QBHelpers/Ole.html">QBHelpers::Ole</a><br />
27
+ <a href="classes/OrderedArray.html">OrderedArray</a><br />
28
+ <a href="classes/OrderedHash.html">OrderedHash</a><br />
29
+ <a href="classes/Qbxml.html">Qbxml</a><br />
30
+ <a href="classes/Qbxml/Request.html">Qbxml::Request</a><br />
31
+ <a href="classes/Qbxml/RequestSet.html">Qbxml::RequestSet</a><br />
32
+ <a href="classes/Qbxml/Response.html">Qbxml::Response</a><br />
33
+ <a href="classes/Qbxml/ResponseSet.html">Qbxml::ResponseSet</a><br />
29
34
  <a href="classes/Quickbooks.html">Quickbooks</a><br />
30
35
  <a href="classes/Quickbooks/Address.html">Quickbooks::Address</a><br />
31
36
  <a href="classes/Quickbooks/Base.html">Quickbooks::Base</a><br />
32
37
  <a href="classes/Quickbooks/BillAddress.html">Quickbooks::BillAddress</a><br />
33
- <a href="classes/Quickbooks/Connection.html">Quickbooks::Connection</a><br />
34
38
  <a href="classes/Quickbooks/CreditCardInfo.html">Quickbooks::CreditCardInfo</a><br />
35
39
  <a href="classes/Quickbooks/Customer.html">Quickbooks::Customer</a><br />
36
40
  <a href="classes/Quickbooks/CustomerTypeRef.html">Quickbooks::CustomerTypeRef</a><br />
41
+ <a href="classes/Quickbooks/Deleted.html">Quickbooks::Deleted</a><br />
37
42
  <a href="classes/Quickbooks/ItemSalesTaxRef.html">Quickbooks::ItemSalesTaxRef</a><br />
38
43
  <a href="classes/Quickbooks/JobTypeRef.html">Quickbooks::JobTypeRef</a><br />
44
+ <a href="classes/Quickbooks/ListDeleted.html">Quickbooks::ListDeleted</a><br />
39
45
  <a href="classes/Quickbooks/ListItem.html">Quickbooks::ListItem</a><br />
40
46
  <a href="classes/Quickbooks/Model.html">Quickbooks::Model</a><br />
47
+ <a href="classes/Quickbooks/OleAdapter.html">Quickbooks::OleAdapter</a><br />
48
+ <a href="classes/Quickbooks/OleAdapter/Connection.html">Quickbooks::OleAdapter::Connection</a><br />
49
+ <a href="classes/Quickbooks/OleAdapter/Ole.html">Quickbooks::OleAdapter::Ole</a><br />
41
50
  <a href="classes/Quickbooks/ParentRef.html">Quickbooks::ParentRef</a><br />
42
51
  <a href="classes/Quickbooks/PreferredPaymentMethodRef.html">Quickbooks::PreferredPaymentMethodRef</a><br />
43
52
  <a href="classes/Quickbooks/PriceLevelRef.html">Quickbooks::PriceLevelRef</a><br />
44
- <a href="classes/Quickbooks/Qbxml.html">Quickbooks::Qbxml</a><br />
45
- <a href="classes/Quickbooks/Qbxml/Request.html">Quickbooks::Qbxml::Request</a><br />
46
- <a href="classes/Quickbooks/Qbxml/RequestSet.html">Quickbooks::Qbxml::RequestSet</a><br />
47
- <a href="classes/Quickbooks/Qbxml/RequestSetArrayExt.html">Quickbooks::Qbxml::RequestSetArrayExt</a><br />
48
- <a href="classes/Quickbooks/Qbxml/Response.html">Quickbooks::Qbxml::Response</a><br />
49
- <a href="classes/Quickbooks/Qbxml/ResponseSet.html">Quickbooks::Qbxml::ResponseSet</a><br />
50
- <a href="classes/Quickbooks/Qbxml/ResponseSetArrayExt.html">Quickbooks::Qbxml::ResponseSetArrayExt</a><br />
53
+ <a href="classes/Quickbooks/QbxmlDebugAdapter.html">Quickbooks::QbxmlDebugAdapter</a><br />
54
+ <a href="classes/Quickbooks/QbxmlDebugAdapter/Connection.html">Quickbooks::QbxmlDebugAdapter::Connection</a><br />
51
55
  <a href="classes/Quickbooks/Ref.html">Quickbooks::Ref</a><br />
52
56
  <a href="classes/Quickbooks/SalesRepRef.html">Quickbooks::SalesRepRef</a><br />
53
57
  <a href="classes/Quickbooks/SalesTaxCodeRef.html">Quickbooks::SalesTaxCodeRef</a><br />
54
58
  <a href="classes/Quickbooks/ShipAddress.html">Quickbooks::ShipAddress</a><br />
55
59
  <a href="classes/Quickbooks/TermsRef.html">Quickbooks::TermsRef</a><br />
56
60
  <a href="classes/Quickbooks/Transaction.html">Quickbooks::Transaction</a><br />
61
+ <a href="classes/Quickbooks/TxnDeleted.html">Quickbooks::TxnDeleted</a><br />
62
+ <a href="classes/SlashedArray.html">SlashedArray</a><br />
63
+ <a href="classes/SlashedHash.html">SlashedHash</a><br />
64
+ <a href="classes/String.html">String</a><br />
65
+ <a href="classes/UniqueArray.html">UniqueArray</a><br />
57
66
  </div>
58
67
  </div>
59
68
  </body>
@@ -22,21 +22,24 @@
22
22
  <div id="index-entries">
23
23
  <a href="files/LICENSE.html">LICENSE</a><br />
24
24
  <a href="files/README.html">README</a><br />
25
+ <a href="files/lib/qbxml_rb.html">lib/qbxml.rb</a><br />
26
+ <a href="files/lib/qbxml/request_rb.html">lib/qbxml/request.rb</a><br />
27
+ <a href="files/lib/qbxml/response_rb.html">lib/qbxml/response.rb</a><br />
28
+ <a href="files/lib/qbxml/support_rb.html">lib/qbxml/support.rb</a><br />
25
29
  <a href="files/lib/quickbooks_rb.html">lib/quickbooks.rb</a><br />
30
+ <a href="files/lib/quickbooks/adapters/ole_adapter_rb.html">lib/quickbooks/adapters/ole_adapter.rb</a><br />
31
+ <a href="files/lib/quickbooks/adapters/qbxml_debug_adapter_rb.html">lib/quickbooks/adapters/qbxml_debug_adapter.rb</a><br />
26
32
  <a href="files/lib/quickbooks/base_rb.html">lib/quickbooks/base.rb</a><br />
27
- <a href="files/lib/quickbooks/connection_rb.html">lib/quickbooks/connection.rb</a><br />
28
33
  <a href="files/lib/quickbooks/model_rb.html">lib/quickbooks/model.rb</a><br />
29
34
  <a href="files/lib/quickbooks/models/common/address_rb.html">lib/quickbooks/models/common/address.rb</a><br />
30
35
  <a href="files/lib/quickbooks/models/common/all_refs_rb.html">lib/quickbooks/models/common/all_refs.rb</a><br />
31
36
  <a href="files/lib/quickbooks/models/customer_rb.html">lib/quickbooks/models/customer.rb</a><br />
32
37
  <a href="files/lib/quickbooks/models/customer/credit_card_info_rb.html">lib/quickbooks/models/customer/credit_card_info.rb</a><br />
38
+ <a href="files/lib/quickbooks/models/deleted_rb.html">lib/quickbooks/models/deleted.rb</a><br />
33
39
  <a href="files/lib/quickbooks/models/list_item_rb.html">lib/quickbooks/models/list_item.rb</a><br />
34
40
  <a href="files/lib/quickbooks/models/transaction_rb.html">lib/quickbooks/models/transaction.rb</a><br />
35
- <a href="files/lib/quickbooks/ole_helper_rb.html">lib/quickbooks/ole_helper.rb</a><br />
36
- <a href="files/lib/quickbooks/qbxml_rb.html">lib/quickbooks/qbxml.rb</a><br />
37
- <a href="files/lib/quickbooks/qbxml/request_rb.html">lib/quickbooks/qbxml/request.rb</a><br />
38
- <a href="files/lib/quickbooks/qbxml/response_rb.html">lib/quickbooks/qbxml/response.rb</a><br />
39
41
  <a href="files/lib/quickbooks/ruby_magic_rb.html">lib/quickbooks/ruby_magic.rb</a><br />
42
+ <a href="files/lib/quickbooks/structure_rb.html">lib/quickbooks/structure.rb</a><br />
40
43
  </div>
41
44
  </div>
42
45
  </body>
@@ -20,116 +20,196 @@
20
20
  <div id="index">
21
21
  <h1 class="section-bar">Methods</h1>
22
22
  <div id="index-entries">
23
- <a href="classes/Hash.html#M000016">- (Hash)</a><br />
24
- <a href="classes/Quickbooks/Qbxml/RequestSet.html#M000054"><< (Quickbooks::Qbxml::RequestSet)</a><br />
25
- <a href="classes/Quickbooks/Qbxml/ResponseSet.html#M000035"><< (Quickbooks::Qbxml::ResponseSet)</a><br />
26
- <a href="classes/Quickbooks/Model.html#M000076">== (Quickbooks::Model)</a><br />
27
- <a href="classes/Quickbooks/Base.html#M000095">== (Quickbooks::Base)</a><br />
28
- <a href="classes/Quickbooks/Model.html#M000077">=== (Quickbooks::Model)</a><br />
29
- <a href="classes/Quickbooks/Transaction.html#M000058">ListOrTxn (Quickbooks::Transaction)</a><br />
30
- <a href="classes/Quickbooks/ListItem.html#M000079">ListOrTxn (Quickbooks::ListItem)</a><br />
31
- <a href="classes/Quickbooks/Base.html#M000087">all (Quickbooks::Base)</a><br />
32
- <a href="classes/Quickbooks/Qbxml/ResponseSet.html#M000038">append_from_hash (Quickbooks::Qbxml::ResponseSet)</a><br />
33
- <a href="classes/Quickbooks/Qbxml/ResponseSet.html#M000037">append_from_xml (Quickbooks::Qbxml::ResponseSet)</a><br />
34
- <a href="classes/Quickbooks/Model.html#M000069">attributes (Quickbooks::Model)</a><br />
35
- <a href="classes/Quickbooks/Model.html#M000070">attributes= (Quickbooks::Model)</a><br />
36
- <a href="classes/Hash.html#M000009">camelize_keys (Hash)</a><br />
37
- <a href="classes/Hash.html#M000010">camelize_keys! (Hash)</a><br />
38
- <a href="classes/Array.html#M000005">camelize_values (Array)</a><br />
39
- <a href="classes/Array.html#M000006">camelize_values! (Array)</a><br />
40
- <a href="classes/Quickbooks/Model.html#M000064">camelized_valid_filters (Quickbooks::Model)</a><br />
41
- <a href="classes/Class.html#M000027">class_leaf_name (Class)</a><br />
42
- <a href="classes/Quickbooks/Connection.html#M000106">close (Quickbooks::Connection)</a><br />
43
- <a href="classes/Quickbooks/Connection.html#M000100">connected? (Quickbooks::Connection)</a><br />
44
- <a href="classes/Quickbooks/Connection.html#M000103">connection (Quickbooks::Connection)</a><br />
45
- <a href="classes/Quickbooks/Base.html#M000082">connection (Quickbooks::Base)</a><br />
46
- <a href="classes/Quickbooks/Base.html#M000083">connection= (Quickbooks::Base)</a><br />
47
- <a href="classes/Quickbooks/Connection.html#M000097">connections (Quickbooks::Connection)</a><br />
48
- <a href="classes/Quickbooks/Connection.html#M000098">connections= (Quickbooks::Connection)</a><br />
49
- <a href="classes/Quickbooks/Base.html#M000089">create (Quickbooks::Base)</a><br />
50
- <a href="classes/Object.html#M000028">delegate_methods (Object)</a><br />
51
- <a href="classes/Quickbooks/Base.html#M000094">destroy (Quickbooks::Base)</a><br />
52
- <a href="classes/Hash.html#M000015">diff (Hash)</a><br />
53
- <a href="classes/Quickbooks/Model.html#M000072">dirty? (Quickbooks::Model)</a><br />
54
- <a href="classes/Quickbooks/Model.html#M000073">dirty_attributes (Quickbooks::Model)</a><br />
55
- <a href="classes/Hash.html#M000022">each (Hash)</a><br />
56
- <a href="classes/Hash.html#M000023">each_key (Hash)</a><br />
57
- <a href="classes/Hash.html#M000024">each_value (Hash)</a><br />
58
- <a href="classes/Quickbooks/Connection.html#M000105">end_session (Quickbooks::Connection)</a><br />
59
- <a href="classes/Object.html#M000033">error? (Object)</a><br />
60
- <a href="classes/Quickbooks/Qbxml/Response.html#M000048">error? (Quickbooks::Qbxml::Response)</a><br />
61
- <a href="classes/Object.html#M000032">errors (Object)</a><br />
62
- <a href="classes/Quickbooks/Base.html#M000081">establish_connection (Quickbooks::Base)</a><br />
63
- <a href="classes/Quickbooks/Model.html#M000063">filter_aliases (Quickbooks::Model)</a><br />
64
- <a href="classes/Quickbooks/Model.html#M000062">filter_aliases= (Quickbooks::Model)</a><br />
65
- <a href="classes/Quickbooks/Base.html#M000088">first (Quickbooks::Base)</a><br />
66
- <a href="classes/Quickbooks/Qbxml/ResponseSet.html#M000040">from_hash (Quickbooks::Qbxml::ResponseSet)</a><br />
67
- <a href="classes/Quickbooks/Qbxml/Response.html#M000045">from_hash (Quickbooks::Qbxml::Response)</a><br />
68
- <a href="classes/Quickbooks/Qbxml/ResponseSet.html#M000039">from_xml (Quickbooks::Qbxml::ResponseSet)</a><br />
69
- <a href="classes/Quickbooks/Qbxml/Response.html#M000044">from_xml (Quickbooks::Qbxml::Response)</a><br />
70
- <a href="classes/QBHelpers/Ole.html#M000109">get_variable (QBHelpers::Ole)</a><br />
71
- <a href="classes/Quickbooks/Qbxml/Response.html#M000043">import_from_hash (Quickbooks::Qbxml::Response)</a><br />
72
- <a href="classes/Quickbooks/Qbxml/Response.html#M000042">import_from_xml (Quickbooks::Qbxml::Response)</a><br />
73
- <a href="classes/Quickbooks/Ref.html#M000096">inherited (Quickbooks::Ref)</a><br />
74
- <a href="classes/Quickbooks/ListItem.html#M000078">inherited (Quickbooks::ListItem)</a><br />
75
- <a href="classes/Quickbooks/Model.html#M000059">inherited (Quickbooks::Model)</a><br />
76
- <a href="classes/Quickbooks/Address.html#M000107">inherited (Quickbooks::Address)</a><br />
77
- <a href="classes/Quickbooks/Transaction.html#M000057">inherited (Quickbooks::Transaction)</a><br />
78
- <a href="classes/Quickbooks/Qbxml/Response.html#M000046">instantiatable? (Quickbooks::Qbxml::Response)</a><br />
79
- <a href="classes/Quickbooks/Base.html#M000086">instantiate (Quickbooks::Base)</a><br />
80
- <a href="classes/Quickbooks/Qbxml/Response.html#M000049">instantiate (Quickbooks::Qbxml::Response)</a><br />
81
- <a href="classes/Object.html#M000031">is_not_one_of? (Object)</a><br />
82
- <a href="classes/Object.html#M000030">is_one_of? (Object)</a><br />
83
- <a href="classes/Hash.html#M000020">keys (Hash)</a><br />
84
- <a href="classes/QBHelpers/Ole.html#M000110">method_missing (QBHelpers::Ole)</a><br />
85
- <a href="classes/Quickbooks/Qbxml/RequestSet.html#M000055">new (Quickbooks::Qbxml::RequestSet)</a><br />
86
- <a href="classes/Quickbooks/Qbxml/Response.html#M000041">new (Quickbooks::Qbxml::Response)</a><br />
87
- <a href="classes/Quickbooks/Connection.html#M000099">new (Quickbooks::Connection)</a><br />
88
- <a href="classes/Quickbooks/Qbxml/ResponseSet.html#M000036">new (Quickbooks::Qbxml::ResponseSet)</a><br />
89
- <a href="classes/QBHelpers/Ole.html#M000108">new (QBHelpers::Ole)</a><br />
90
- <a href="classes/Quickbooks/Model.html#M000068">new (Quickbooks::Model)</a><br />
91
- <a href="classes/Quickbooks/Base.html#M000090">new (Quickbooks::Base)</a><br />
92
- <a href="classes/Quickbooks/Qbxml/Request.html#M000050">new (Quickbooks::Qbxml::Request)</a><br />
93
- <a href="classes/Quickbooks/Base.html#M000091">new_record? (Quickbooks::Base)</a><br />
94
- <a href="classes/Quickbooks/Qbxml/Request.html#M000051">next_request_id (Quickbooks::Qbxml::Request)</a><br />
95
- <a href="classes/Hash.html#M000017">only (Hash)</a><br />
96
- <a href="classes/Array.html#M000003">only (Array)</a><br />
97
- <a href="classes/Array.html#M000004">only! (Array)</a><br />
98
- <a href="classes/Hash.html#M000018">only! (Hash)</a><br />
99
- <a href="classes/Array.html#M000007">order (Array)</a><br />
100
- <a href="classes/Hash.html#M000019">order! (Hash)</a><br />
101
- <a href="classes/Array.html#M000008">order! (Array)</a><br />
102
- <a href="classes/Quickbooks/Model.html#M000071">original_values (Quickbooks::Model)</a><br />
103
- <a href="classes/Quickbooks/Model.html#M000067">properties (Quickbooks::Model)</a><br />
104
- <a href="classes/Quickbooks/Model.html#M000066">read_only (Quickbooks::Model)</a><br />
105
- <a href="classes/Quickbooks/Model.html#M000065">read_write (Quickbooks::Model)</a><br />
106
- <a href="classes/Quickbooks/Base.html#M000093">reload (Quickbooks::Base)</a><br />
107
- <a href="classes/Quickbooks/Base.html#M000085">request (Quickbooks::Base)</a><br />
108
- <a href="classes/Quickbooks/Base.html#M000084">request_and_instantiate (Quickbooks::Base)</a><br />
109
- <a href="classes/Quickbooks/Base.html#M000092">save (Quickbooks::Base)</a><br />
110
- <a href="classes/Quickbooks/Connection.html#M000102">send_xml (Quickbooks::Connection)</a><br />
111
- <a href="classes/Quickbooks/Connection.html#M000104">session (Quickbooks::Connection)</a><br />
112
- <a href="classes/Quickbooks/Connection.html#M000101">session? (Quickbooks::Connection)</a><br />
113
- <a href="classes/Quickbooks/Qbxml/ResponseSet.html#M000034">set (Quickbooks::Qbxml::ResponseSet)</a><br />
114
- <a href="classes/Quickbooks/Qbxml/RequestSet.html#M000053">set (Quickbooks::Qbxml::RequestSet)</a><br />
115
- <a href="classes/Hash.html#M000013">stringify_values (Hash)</a><br />
116
- <a href="classes/Array.html#M000001">stringify_values (Array)</a><br />
117
- <a href="classes/Array.html#M000002">stringify_values! (Array)</a><br />
118
- <a href="classes/Hash.html#M000014">stringify_values! (Hash)</a><br />
119
- <a href="classes/Quickbooks/Qbxml/Response.html#M000047">success? (Quickbooks::Qbxml::Response)</a><br />
120
- <a href="classes/Quickbooks/Base.html#M000080">success? (Quickbooks::Base)</a><br />
121
- <a href="classes/Object.html#M000029">to_a (Object)</a><br />
122
- <a href="classes/Quickbooks/Model.html#M000074">to_dirty_hash (Quickbooks::Model)</a><br />
123
- <a href="classes/Quickbooks/Model.html#M000075">to_hash (Quickbooks::Model)</a><br />
124
- <a href="classes/Quickbooks/Qbxml/RequestSet.html#M000056">to_xml (Quickbooks::Qbxml::RequestSet)</a><br />
125
- <a href="classes/Quickbooks/Qbxml/Request.html#M000052">to_xml (Quickbooks::Qbxml::Request)</a><br />
126
- <a href="classes/Hash.html#M000025">transform_keys (Hash)</a><br />
127
- <a href="classes/Hash.html#M000026">transform_keys! (Hash)</a><br />
128
- <a href="classes/Hash.html#M000011">underscore_keys (Hash)</a><br />
129
- <a href="classes/Hash.html#M000012">underscore_keys! (Hash)</a><br />
130
- <a href="classes/Quickbooks/Model.html#M000061">valid_filters (Quickbooks::Model)</a><br />
131
- <a href="classes/Quickbooks/Model.html#M000060">valid_filters= (Quickbooks::Model)</a><br />
132
- <a href="classes/Hash.html#M000021">values (Hash)</a><br />
23
+ <a href="classes/Hash.html#M000021">- (Hash)</a><br />
24
+ <a href="classes/Qbxml/ResponseSet.html#M000169"><< (Qbxml::ResponseSet)</a><br />
25
+ <a href="classes/Qbxml/RequestSet.html#M000188"><< (Qbxml::RequestSet)</a><br />
26
+ <a href="classes/SlashedArray.html#M000166"><< (SlashedArray)</a><br />
27
+ <a href="classes/SlashedHash.html#M000158"><< (SlashedHash)</a><br />
28
+ <a href="classes/UniqueArray.html#M000155"><< (UniqueArray)</a><br />
29
+ <a href="classes/Quickbooks/Model.html#M000126">== (Quickbooks::Model)</a><br />
30
+ <a href="classes/Quickbooks/Base.html#M000147">== (Quickbooks::Base)</a><br />
31
+ <a href="classes/Quickbooks/Model.html#M000127">=== (Quickbooks::Model)</a><br />
32
+ <a href="classes/Quickbooks/ListItem.html#M000130">ListOrTxn (Quickbooks::ListItem)</a><br />
33
+ <a href="classes/Quickbooks/TxnDeleted.html#M000128">ListOrTxn (Quickbooks::TxnDeleted)</a><br />
34
+ <a href="classes/Quickbooks/ListDeleted.html#M000149">ListOrTxn (Quickbooks::ListDeleted)</a><br />
35
+ <a href="classes/Quickbooks/Transaction.html#M000108">ListOrTxn (Quickbooks::Transaction)</a><br />
36
+ <a href="classes/SlashedHash.html#M000159">[] (SlashedHash)</a><br />
37
+ <a href="classes/OrderedHash.html#M000074">[] (OrderedHash)</a><br />
38
+ <a href="classes/OrderedHash.html#M000073">[]= (OrderedHash)</a><br />
39
+ <a href="classes/SlashedHash.html#M000160">[]= (SlashedHash)</a><br />
40
+ <a href="classes/SlashedArray.html#M000167">[]= (SlashedArray)</a><br />
41
+ <a href="classes/Quickbooks/Base.html#M000139">all (Quickbooks::Base)</a><br />
42
+ <a href="classes/Qbxml/ResponseSet.html#M000172">append_from_hash (Qbxml::ResponseSet)</a><br />
43
+ <a href="classes/Qbxml/ResponseSet.html#M000171">append_from_xml (Qbxml::ResponseSet)</a><br />
44
+ <a href="classes/Quickbooks/Model.html#M000119">attributes (Quickbooks::Model)</a><br />
45
+ <a href="classes/Quickbooks/Model.html#M000120">attributes= (Quickbooks::Model)</a><br />
46
+ <a href="classes/String.html#M000087">camelize (String)</a><br />
47
+ <a href="classes/String.html#M000089">camelize (String)</a><br />
48
+ <a href="classes/Hash.html#M000012">camelize_keys (Hash)</a><br />
49
+ <a href="classes/Hash.html#M000004">camelize_keys (Hash)</a><br />
50
+ <a href="classes/Hash.html#M000013">camelize_keys! (Hash)</a><br />
51
+ <a href="classes/Hash.html#M000005">camelize_keys! (Hash)</a><br />
52
+ <a href="classes/Array.html#M000049">camelize_values (Array)</a><br />
53
+ <a href="classes/Array.html#M000037">camelize_values (Array)</a><br />
54
+ <a href="classes/Array.html#M000038">camelize_values! (Array)</a><br />
55
+ <a href="classes/Array.html#M000050">camelize_values! (Array)</a><br />
56
+ <a href="classes/Quickbooks/Model.html#M000114">camelized_valid_filters (Quickbooks::Model)</a><br />
57
+ <a href="classes/Class.html#M000076">class_leaf_name (Class)</a><br />
58
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000103">close (Quickbooks::OleAdapter::Connection)</a><br />
59
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000097">connected? (Quickbooks::OleAdapter::Connection)</a><br />
60
+ <a href="classes/Quickbooks/Base.html#M000134">connection (Quickbooks::Base)</a><br />
61
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000100">connection (Quickbooks::OleAdapter::Connection)</a><br />
62
+ <a href="classes/Quickbooks/Base.html#M000135">connection= (Quickbooks::Base)</a><br />
63
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000094">connections (Quickbooks::OleAdapter::Connection)</a><br />
64
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000095">connections= (Quickbooks::OleAdapter::Connection)</a><br />
65
+ <a href="classes/String.html#M000085">constantize (String)</a><br />
66
+ <a href="classes/Quickbooks/Base.html#M000141">create (Quickbooks::Base)</a><br />
67
+ <a href="classes/Object.html#M000077">delegate_methods (Object)</a><br />
68
+ <a href="classes/Object.html#M000079">delegate_methods (Object)</a><br />
69
+ <a href="classes/Quickbooks/Base.html#M000146">destroy (Quickbooks::Base)</a><br />
70
+ <a href="classes/Hash.html#M000020">diff (Hash)</a><br />
71
+ <a href="classes/Quickbooks/Model.html#M000122">dirty? (Quickbooks::Model)</a><br />
72
+ <a href="classes/Quickbooks/Model.html#M000123">dirty_attributes (Quickbooks::Model)</a><br />
73
+ <a href="classes/OrderedHash.html#M000065">dup (OrderedHash)</a><br />
74
+ <a href="classes/OrderedHash.html#M000070">each (OrderedHash)</a><br />
75
+ <a href="classes/OrderedHash.html#M000071">each_key (OrderedHash)</a><br />
76
+ <a href="classes/OrderedHash.html#M000072">each_value (OrderedHash)</a><br />
77
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000102">end_session (Quickbooks::OleAdapter::Connection)</a><br />
78
+ <a href="classes/Object.html#M000084">error? (Object)</a><br />
79
+ <a href="classes/Qbxml/Response.html#M000182">error? (Qbxml::Response)</a><br />
80
+ <a href="classes/Object.html#M000083">errors (Object)</a><br />
81
+ <a href="classes/Quickbooks/Base.html#M000133">establish_connection (Quickbooks::Base)</a><br />
82
+ <a href="classes/Array.html#M000058">expand_slashes (Array)</a><br />
83
+ <a href="classes/Hash.html#M000032">expand_slashes (Hash)</a><br />
84
+ <a href="classes/String.html#M000092">expand_slashes (String)</a><br />
85
+ <a href="classes/Hash.html#M000033">expand_slashes! (Hash)</a><br />
86
+ <a href="classes/Array.html#M000057">expand_slashes! (Array)</a><br />
87
+ <a href="classes/Quickbooks/Model.html#M000113">filter_aliases (Quickbooks::Model)</a><br />
88
+ <a href="classes/Quickbooks/Model.html#M000112">filter_aliases= (Quickbooks::Model)</a><br />
89
+ <a href="classes/Quickbooks/Base.html#M000140">first (Quickbooks::Base)</a><br />
90
+ <a href="classes/Hash.html#M000030">flatten_slashes (Hash)</a><br />
91
+ <a href="classes/Array.html#M000056">flatten_slashes (Array)</a><br />
92
+ <a href="classes/String.html#M000091">flatten_slashes (String)</a><br />
93
+ <a href="classes/Hash.html#M000031">flatten_slashes! (Hash)</a><br />
94
+ <a href="classes/Array.html#M000055">flatten_slashes! (Array)</a><br />
95
+ <a href="classes/SlashedArray.html#M000163">flattened (SlashedArray)</a><br />
96
+ <a href="classes/SlashedHash.html#M000157">flattened (SlashedHash)</a><br />
97
+ <a href="classes/Qbxml/ResponseSet.html#M000174">from_hash (Qbxml::ResponseSet)</a><br />
98
+ <a href="classes/Qbxml/Response.html#M000179">from_hash (Qbxml::Response)</a><br />
99
+ <a href="classes/Qbxml/ResponseSet.html#M000173">from_xml (Qbxml::ResponseSet)</a><br />
100
+ <a href="classes/Qbxml/Response.html#M000178">from_xml (Qbxml::Response)</a><br />
101
+ <a href="classes/Quickbooks/OleAdapter/Ole.html#M000105">get_variable (Quickbooks::OleAdapter::Ole)</a><br />
102
+ <a href="classes/Qbxml/Response.html#M000177">import_from_hash (Qbxml::Response)</a><br />
103
+ <a href="classes/Qbxml/Response.html#M000176">import_from_xml (Qbxml::Response)</a><br />
104
+ <a href="classes/Quickbooks/Address.html#M000150">inherited (Quickbooks::Address)</a><br />
105
+ <a href="classes/Quickbooks/Ref.html#M000148">inherited (Quickbooks::Ref)</a><br />
106
+ <a href="classes/Quickbooks/Model.html#M000109">inherited (Quickbooks::Model)</a><br />
107
+ <a href="classes/Quickbooks/Transaction.html#M000107">inherited (Quickbooks::Transaction)</a><br />
108
+ <a href="classes/Quickbooks/ListItem.html#M000129">inherited (Quickbooks::ListItem)</a><br />
109
+ <a href="classes/Qbxml/Response.html#M000180">instantiatable? (Qbxml::Response)</a><br />
110
+ <a href="classes/Quickbooks/Base.html#M000138">instantiate (Quickbooks::Base)</a><br />
111
+ <a href="classes/Qbxml/Response.html#M000183">instantiate (Qbxml::Response)</a><br />
112
+ <a href="classes/Object.html#M000082">is_not_one_of? (Object)</a><br />
113
+ <a href="classes/Object.html#M000081">is_one_of? (Object)</a><br />
114
+ <a href="classes/Object.html#M000078">is_one_of? (Object)</a><br />
115
+ <a href="classes/SlashedArray.html#M000162">keep_unique! (SlashedArray)</a><br />
116
+ <a href="classes/Array.html#M000060">keep_unique! (Array)</a><br />
117
+ <a href="classes/OrderedHash.html#M000068">keys (OrderedHash)</a><br />
118
+ <a href="classes/Class.html#M000075">lone_name (Class)</a><br />
119
+ <a href="classes/Quickbooks/OleAdapter/Ole.html#M000106">method_missing (Quickbooks::OleAdapter::Ole)</a><br />
120
+ <a href="classes/UniqueArray.html#M000152">new (UniqueArray)</a><br />
121
+ <a href="classes/Quickbooks/Base.html#M000142">new (Quickbooks::Base)</a><br />
122
+ <a href="classes/OrderedHash.html#M000064">new (OrderedHash)</a><br />
123
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000096">new (Quickbooks::OleAdapter::Connection)</a><br />
124
+ <a href="classes/Qbxml/ResponseSet.html#M000170">new (Qbxml::ResponseSet)</a><br />
125
+ <a href="classes/Qbxml/Response.html#M000175">new (Qbxml::Response)</a><br />
126
+ <a href="classes/Quickbooks/OleAdapter/Ole.html#M000104">new (Quickbooks::OleAdapter::Ole)</a><br />
127
+ <a href="classes/Qbxml/Request.html#M000184">new (Qbxml::Request)</a><br />
128
+ <a href="classes/Quickbooks/Model.html#M000118">new (Quickbooks::Model)</a><br />
129
+ <a href="classes/Qbxml/RequestSet.html#M000189">new (Qbxml::RequestSet)</a><br />
130
+ <a href="classes/OrderedArray.html#M000001">new (OrderedArray)</a><br />
131
+ <a href="classes/Quickbooks/Base.html#M000143">new_record? (Quickbooks::Base)</a><br />
132
+ <a href="classes/Qbxml/Request.html#M000185">next_request_id (Qbxml::Request)</a><br />
133
+ <a href="classes/Array.html#M000041">only (Array)</a><br />
134
+ <a href="classes/Hash.html#M000008">only (Hash)</a><br />
135
+ <a href="classes/Array.html#M000047">only (Array)</a><br />
136
+ <a href="classes/Hash.html#M000022">only (Hash)</a><br />
137
+ <a href="classes/Hash.html#M000023">only! (Hash)</a><br />
138
+ <a href="classes/Hash.html#M000009">only! (Hash)</a><br />
139
+ <a href="classes/Array.html#M000048">only! (Array)</a><br />
140
+ <a href="classes/Array.html#M000042">only! (Array)</a><br />
141
+ <a href="classes/Array.html#M000043">order (Array)</a><br />
142
+ <a href="classes/Array.html#M000051">order (Array)</a><br />
143
+ <a href="classes/Array.html#M000044">order! (Array)</a><br />
144
+ <a href="classes/Array.html#M000052">order! (Array)</a><br />
145
+ <a href="classes/Hash.html#M000034">ordered! (Hash)</a><br />
146
+ <a href="classes/OrderedArray.html#M000002">ordered! (OrderedArray)</a><br />
147
+ <a href="classes/Array.html#M000061">ordered! (Array)</a><br />
148
+ <a href="classes/OrderedHash.html#M000066">ordered! (OrderedHash)</a><br />
149
+ <a href="classes/OrderedHash.html#M000067">ordered? (OrderedHash)</a><br />
150
+ <a href="classes/OrderedArray.html#M000003">ordered? (OrderedArray)</a><br />
151
+ <a href="classes/Array.html#M000062">ordered? (Array)</a><br />
152
+ <a href="classes/Hash.html#M000035">ordered? (Hash)</a><br />
153
+ <a href="classes/Array.html#M000063">ordered_propogated! (Array)</a><br />
154
+ <a href="classes/Quickbooks/Model.html#M000121">original_values (Quickbooks::Model)</a><br />
155
+ <a href="classes/SlashedArray.html#M000161">prepare_for_overwrites! (SlashedArray)</a><br />
156
+ <a href="classes/SlashedHash.html#M000156">prepare_for_overwrites! (SlashedHash)</a><br />
157
+ <a href="classes/UniqueArray.html#M000151">prepare_for_overwrites! (UniqueArray)</a><br />
158
+ <a href="classes/Quickbooks/Model.html#M000117">properties (Quickbooks::Model)</a><br />
159
+ <a href="classes/SlashedArray.html#M000165">push (SlashedArray)</a><br />
160
+ <a href="classes/UniqueArray.html#M000153">push (UniqueArray)</a><br />
161
+ <a href="classes/Quickbooks/Base.html#M000136">query (Quickbooks::Base)</a><br />
162
+ <a href="classes/Quickbooks/Model.html#M000116">read_only (Quickbooks::Model)</a><br />
163
+ <a href="classes/Quickbooks/Model.html#M000115">read_write (Quickbooks::Model)</a><br />
164
+ <a href="classes/Quickbooks/Base.html#M000145">reload (Quickbooks::Base)</a><br />
165
+ <a href="classes/Quickbooks/Base.html#M000137">request (Quickbooks::Base)</a><br />
166
+ <a href="classes/Hash.html#M000024">reverse_merge (Hash)</a><br />
167
+ <a href="classes/Hash.html#M000025">reverse_merge! (Hash)</a><br />
168
+ <a href="classes/Quickbooks/Base.html#M000144">save (Quickbooks::Base)</a><br />
169
+ <a href="classes/Quickbooks/QbxmlDebugAdapter/Connection.html#M000093">send_xml (Quickbooks::QbxmlDebugAdapter::Connection)</a><br />
170
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000099">send_xml (Quickbooks::OleAdapter::Connection)</a><br />
171
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000101">session (Quickbooks::OleAdapter::Connection)</a><br />
172
+ <a href="classes/Quickbooks/OleAdapter/Connection.html#M000098">session? (Quickbooks::OleAdapter::Connection)</a><br />
173
+ <a href="classes/Qbxml/RequestSet.html#M000187">set (Qbxml::RequestSet)</a><br />
174
+ <a href="classes/Qbxml/ResponseSet.html#M000168">set (Qbxml::ResponseSet)</a><br />
175
+ <a href="classes/Hash.html#M000036">slash_camelize_keys! (Hash)</a><br />
176
+ <a href="classes/Array.html#M000054">slashed! (Array)</a><br />
177
+ <a href="classes/Hash.html#M000029">slashed! (Hash)</a><br />
178
+ <a href="classes/Array.html#M000053">slashed? (Array)</a><br />
179
+ <a href="classes/String.html#M000090">slashed? (String)</a><br />
180
+ <a href="classes/Hash.html#M000028">slashed? (Hash)</a><br />
181
+ <a href="classes/Array.html#M000059">step_into_slash (Array)</a><br />
182
+ <a href="classes/Hash.html#M000006">stringify_keys (Hash)</a><br />
183
+ <a href="classes/Hash.html#M000014">stringify_keys (Hash)</a><br />
184
+ <a href="classes/Hash.html#M000015">stringify_keys! (Hash)</a><br />
185
+ <a href="classes/Hash.html#M000007">stringify_keys! (Hash)</a><br />
186
+ <a href="classes/Array.html#M000045">stringify_values (Array)</a><br />
187
+ <a href="classes/Array.html#M000039">stringify_values (Array)</a><br />
188
+ <a href="classes/Hash.html#M000018">stringify_values (Hash)</a><br />
189
+ <a href="classes/Hash.html#M000019">stringify_values! (Hash)</a><br />
190
+ <a href="classes/Array.html#M000040">stringify_values! (Array)</a><br />
191
+ <a href="classes/Array.html#M000046">stringify_values! (Array)</a><br />
192
+ <a href="classes/Qbxml/Response.html#M000181">success? (Qbxml::Response)</a><br />
193
+ <a href="classes/Quickbooks/Base.html#M000131">success? (Quickbooks::Base)</a><br />
194
+ <a href="classes/Object.html#M000080">to_a (Object)</a><br />
195
+ <a href="classes/Quickbooks/Model.html#M000124">to_dirty_hash (Quickbooks::Model)</a><br />
196
+ <a href="classes/Quickbooks/Model.html#M000125">to_hash (Quickbooks::Model)</a><br />
197
+ <a href="classes/Qbxml/Request.html#M000186">to_xml (Qbxml::Request)</a><br />
198
+ <a href="classes/Qbxml/RequestSet.html#M000190">to_xml (Qbxml::RequestSet)</a><br />
199
+ <a href="classes/Hash.html#M000026">transform_keys (Hash)</a><br />
200
+ <a href="classes/Hash.html#M000010">transform_keys (Hash)</a><br />
201
+ <a href="classes/Hash.html#M000011">transform_keys! (Hash)</a><br />
202
+ <a href="classes/Hash.html#M000027">transform_keys! (Hash)</a><br />
203
+ <a href="classes/String.html#M000086">underscore (String)</a><br />
204
+ <a href="classes/String.html#M000088">underscore (String)</a><br />
205
+ <a href="classes/Hash.html#M000016">underscore_keys (Hash)</a><br />
206
+ <a href="classes/Hash.html#M000017">underscore_keys! (Hash)</a><br />
207
+ <a href="classes/SlashedArray.html#M000164">unshift (SlashedArray)</a><br />
208
+ <a href="classes/UniqueArray.html#M000154">unshift (UniqueArray)</a><br />
209
+ <a href="classes/Quickbooks/Base.html#M000132">use_adapter (Quickbooks::Base)</a><br />
210
+ <a href="classes/Quickbooks/Model.html#M000111">valid_filters (Quickbooks::Model)</a><br />
211
+ <a href="classes/Quickbooks/Model.html#M000110">valid_filters= (Quickbooks::Model)</a><br />
212
+ <a href="classes/OrderedHash.html#M000069">values (OrderedHash)</a><br />
133
213
  </div>
134
214
  </div>
135
215
  </body>
@@ -0,0 +1,2 @@
1
+ require 'qbxml/request'
2
+ require 'qbxml/response'
@@ -0,0 +1,205 @@
1
+ require 'qbxml/support'
2
+ require 'builder'
3
+
4
+ module Qbxml
5
+ VERSION = '6.0'
6
+
7
+ # module RequestSetArrayExt
8
+ # end
9
+
10
+ class RequestSet
11
+ include Enumerable
12
+ def set
13
+ unless @set.is_a?(Array)
14
+ @set = []
15
+ # @set.extend(Qbxml::RequestSetArrayExt)
16
+ end
17
+ @set
18
+ end
19
+ delegate_methods [:each, :length, :first, :last, :[], :map, :join] => :set
20
+ def <<(qbxml_request)
21
+ if qbxml_request.is_a?(Qbxml::Request)
22
+ set << qbxml_request
23
+ elsif qbxml_request.respond_to?(:each)
24
+ qbxml_request.each do |request|
25
+ self << request
26
+ end
27
+ else
28
+ raise ArgumentError, "Cannot add object of type #{qbxml_request.class.name} to a Qbxml::RequestSet"
29
+ end
30
+ end
31
+
32
+ def initialize(*requests)
33
+ self << requests
34
+ end
35
+
36
+ def to_xml
37
+ pre = <<-thequickbooks_qbxmlrequestsetxml
38
+ <?xml version="1.0" ?>
39
+ <?qbxml version="#{Qbxml::VERSION}" ?>
40
+ <QBXML>
41
+ <QBXMLMsgsRq onError="stopOnError">
42
+ thequickbooks_qbxmlrequestsetxml
43
+ requests = map {|x| x.to_xml(false)}.join
44
+ post = <<-thequickbooks_qbxmlrequestsetxml
45
+ </QBXMLMsgsRq>
46
+ </QBXML>
47
+ thequickbooks_qbxmlrequestsetxml
48
+ # puts pre + requests + post
49
+ pre + requests + post
50
+ end
51
+ end
52
+
53
+ class Request
54
+ # 1. List queries (:query)
55
+ # Request.new(object, :query) # <= will return the record matching the object supplied (automatically searches by list_id or txn_id)
56
+ # Request.new(Customer, :query, :limit => 1) # <= will return the first customer
57
+ # Request.new(Customer, :query, /some match/) # <= will return all customers matching the regexp
58
+ # 2. Deleted queries (:deleted)
59
+ # Request.new(object, :deleted) # <= INVALID!! (besides, you wouldn't have an object to check up on anyway :P )
60
+ # Request.new(Customer, :deleted) # <= will return all deleted Customers
61
+ # Request.new(Customer, :deleted, :deleted_date_range_filter => {'from_deleted_date' => Date.parse('2008/10/05')}) # <= will return all Customers deleted since 5 October 2008
62
+ # 3. Object-specific transaction query (:transaction)
63
+ # Request.new(Transaction, :query) # <= will return the transaction matching the object supplied
64
+ # 4. Mod requests (:mod)
65
+ # Request.new(object, :mod) # <= will update the object
66
+ # 5. Delete requests (:delete)
67
+ # Request.new(object, :delete) # <= will delete the object
68
+ # We want the attributes of the object when we are updating, but no other time.
69
+ def initialize(object, type, options_or_regexp={})
70
+ options = options_or_regexp.is_a?(Regexp) ? {:matches => options_or_regexp} : options_or_regexp
71
+ @type = type
72
+ raise ArgumentError, "Qbxml::Requests can only be of one of the following types: :query, :transaction, :any_transaction, :mod, :add, :delete, :deleted, or :report" unless @type.is_one_of?(:query, :transaction, :any_transaction, :mod, :report, :add, :delete, :deleted)
73
+ @klass = object.is_a?(Class) ? object : object.class
74
+ @object = object
75
+ @options = options
76
+
77
+ # Transform the options received for :deleted requests.
78
+ # This way, Request.new(Customer, :deleted) == Request.new(ListDeleted, :list_del_type => 'Customer')
79
+ # and Request.new(Transaction, :deleted) == Request.new(TxnDeleted, :txn_del_type => 'Transaction')
80
+ if @type == :deleted
81
+ case @klass.ListOrTxn
82
+ when 'List'
83
+ @options[:list_del_type] = @klass.lone_name
84
+ @klass = Quickbooks::ListDeleted
85
+ when 'Txn'
86
+ @options[:txn_del_type] = @klass.lone_name
87
+ @klass = Quickbooks::TxnDeleted
88
+ end
89
+ end
90
+
91
+ # Return only specific properties: Request.new(Customer, :query, :only => [:list_id, :full_name]); Quickbooks::Customer.first(:only => :list_id)
92
+ @ret_elements = @options.delete(:only).to_a.only(@klass.properties).ordered!(@klass.properties).stringify_values.camelize_values!(Quickbooks::CAMELIZE_EXCEPTIONS) if @options.has_key?(:only)
93
+
94
+ # Includes only valid filters + aliases for valid filters, # => {underscore/slashed keys + aliases}
95
+ # then transforms aliased filters to real filters, # => {underscore/slashed keys}
96
+ # then camelizes keys to prepare for writing to XML, # => {}
97
+ # lastly orders the keys to a valid filter order.
98
+ # Study the following:
99
+ # @klass.filter_aliases = {'deleted_after' => 'deleted_date_range_filter/from_deleted_date'}
100
+ # @klass.valid_filters = ['deleted_date_range_filter/from_deleted_date']
101
+ # {:deleted_after => "2008-03-20T11:20:26-04:00"}.stringify_keys.flatten_slashes.
102
+ # only(@klass.valid_filters + @klass.filter_aliases.expand_slashes.keys).
103
+ # transform_keys!(@klass.filter_aliases.expand_slashes.inject({}) {|h,(k,v)| v = [v].flatten_slashes; h[k] = v.length < 2 ? v[0] : v; h}).
104
+ # slash_camelize_keys!(Quickbooks::CAMELIZE_EXCEPTIONS).
105
+ # ordered!(@klass.camelized_valid_filters).expand_slashes
106
+ # # => {"DeletedDateRangeFilter" => {"FromDeletedDate" => "2008-03-20T11:20:26-04:00"}}
107
+ @filters = @options.delete(:filters) || @options.stringify_keys.flatten_slashes.
108
+ only(@klass.valid_filters + @klass.filter_aliases.expand_slashes.keys).
109
+ transform_keys!(@klass.filter_aliases.expand_slashes.inject({}) {|h,(k,v)| v = [v].flatten_slashes; h[k] = v.length < 2 ? v[0] : v; h}).
110
+ slash_camelize_keys!(Quickbooks::CAMELIZE_EXCEPTIONS).
111
+ ordered!(@klass.camelized_valid_filters).expand_slashes
112
+ @filters = @filters.to_hash unless @filters.is_a?(Hash)
113
+ @filters = @filters['FILTERS'] if @filters.keys == ['FILTERS'] # So if you include an xml-formatted string of filters, you can simply wrap them in <FILTERS></FILTERS> as a root key
114
+
115
+ # Complain if:
116
+ # 1) type is :mod or :delete, and object supplied is not a valid model
117
+ raise ArgumentError, "A Quickbooks record object must be supplied to perform an add, mod or del action" if @type.is_one_of?(:add, :mod, :delete) && !@object.is_a?(Quickbooks::Base)
118
+ end
119
+
120
+ def self.next_request_id
121
+ @request_id ||= 0
122
+ @request_id += 1
123
+ end
124
+
125
+ # This is where the magic happens to convert a request object into xml worthy of quickbooks.
126
+ def to_xml(as_set=true)
127
+ return (RequestSet.new(self)).to_xml if as_set # Simple call yields xml as a single request in a request set. However, if the xml for the lone request is required, pass false.
128
+ req = Builder::XmlMarkup.new(:indent => 2)
129
+ request_root, container = case
130
+ when @type.is_one_of?(:query)
131
+ ["#{@klass.class_leaf_name}QueryRq", nil]
132
+ when @type == :add
133
+ ["#{@klass.class_leaf_name}AddRq", "#{@klass.class_leaf_name}Add"]
134
+ when @type == :mod
135
+ ["#{@klass.class_leaf_name}ModRq", "#{@klass.class_leaf_name}Mod"]
136
+ when @type == :delete
137
+ ["#{@klass.ListOrTxn}DelRq", nil]
138
+ when @type == :deleted
139
+ ["#{@klass.ListOrTxn}DeletedQueryRq", nil]
140
+ else
141
+ raise RuntimeError, "Could not convert this request to qbxml!\n#{self.inspect}"
142
+ end
143
+ inner_stuff = lambda {
144
+ deep_tag = lambda {|k,v|
145
+ if v.is_a?(Hash)
146
+ if k == ''
147
+ v.each { |k,v|
148
+ deep_tag.call(k,v)
149
+ }
150
+ else
151
+ req.tag!(k.camelize) { v.each { |k,v| deep_tag.call(k,v) } }
152
+ end
153
+ else
154
+ req.tag!(k.camelize,uncast(v))
155
+ end
156
+ }
157
+
158
+ # Add the specific elements for the respective request type
159
+ if @type.is_one_of?(:add, :mod)
160
+ if @type == :mod
161
+ # First the ObjectId:
162
+ req.tag!(@klass.ListOrTxn + 'ID', @object.send("#{@klass.ListOrTxn}Id".underscore))
163
+ # Second the EditSequence
164
+ req.tag!('EditSequence', @object.send(:edit_sequence))
165
+ end
166
+ # Then, all the dirty_attributes
167
+ deep_tag.call('',@object.to_dirty_hash) # (this is an hash statically ordered to the model's qbxml attribute order)
168
+ elsif @type == :query && @object.class == @klass
169
+ # Sent an instance object for a query - we should include the ListId/TxnId (then other filters?)
170
+ req.tag!(@klass.ListOrTxn + 'ID', @object.send("#{@klass.ListOrTxn}Id".underscore))
171
+ deep_tag.call('', @filters)
172
+ elsif @type == :delete
173
+ req.tag!(@klass.ListOrTxn + 'DelType', @klass.class_leaf_name)
174
+ req.tag!(@klass.ListOrTxn + 'ID', @object.send("#{@klass.ListOrTxn}Id".underscore))
175
+ else
176
+ # just filters
177
+ deep_tag.call('', @filters)
178
+ end
179
+ # Lastly, specify the fields to return, if desired
180
+ @ret_elements.each { |r| req.tag!('IncludeRetElement', r) } if @ret_elements.is_a?(Array) && @ret_elements.length > 0
181
+ }
182
+ req.tag!(request_root, :requestID => self.class.next_request_id) {
183
+ if container
184
+ req.tag!(container) {
185
+ inner_stuff.call
186
+ }
187
+ else
188
+ inner_stuff.call
189
+ end
190
+ }
191
+ # puts req.target!
192
+ req.target!
193
+ end
194
+
195
+ private
196
+ def uncast(v)
197
+ case
198
+ when v.respond_to?(:xmlschema)
199
+ v.xmlschema
200
+ else
201
+ v
202
+ end
203
+ end
204
+ end
205
+ end