quickbooks 0.0.7 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (263) hide show
  1. data/README +10 -5
  2. data/Rakefile +4 -3
  3. data/doc/classes/Array.html +78 -247
  4. data/doc/classes/Array.src/{M000049.html → M000026.html} +1 -1
  5. data/doc/classes/Array.src/{M000050.html → M000027.html} +1 -1
  6. data/doc/classes/{Hash.src/M000030.html → Array.src/M000028.html} +4 -4
  7. data/doc/classes/Array.src/M000029.html +19 -0
  8. data/doc/classes/Array.src/M000030.html +18 -0
  9. data/doc/classes/Array.src/{M000042.html → M000031.html} +0 -0
  10. data/doc/classes/Array.src/{M000043.html → M000032.html} +0 -0
  11. data/doc/classes/Array.src/{M000044.html → M000033.html} +0 -0
  12. data/doc/classes/Array.src/{M000045.html → M000034.html} +1 -1
  13. data/doc/classes/Array.src/{M000046.html → M000035.html} +1 -1
  14. data/doc/classes/Array.src/{M000047.html → M000036.html} +1 -1
  15. data/doc/classes/Array.src/M000037.html +9 -4
  16. data/doc/classes/Array.src/M000038.html +4 -7
  17. data/doc/classes/Array.src/M000039.html +7 -4
  18. data/doc/classes/Array.src/M000040.html +4 -5
  19. data/doc/classes/Array.src/M000041.html +4 -4
  20. data/doc/classes/Class.html +10 -10
  21. data/doc/classes/Class.src/{M000075.html → M000042.html} +0 -0
  22. data/doc/classes/Class.src/{M000076.html → M000043.html} +1 -1
  23. data/doc/classes/Hash.html +124 -248
  24. data/doc/classes/Hash.src/M000001.html +18 -0
  25. data/doc/classes/Hash.src/M000002.html +21 -0
  26. data/doc/classes/Hash.src/M000003.html +18 -0
  27. data/doc/classes/Hash.src/M000004.html +7 -4
  28. data/doc/classes/Hash.src/M000005.html +4 -7
  29. data/doc/classes/Hash.src/M000006.html +6 -4
  30. data/doc/classes/Hash.src/M000007.html +4 -7
  31. data/doc/classes/Hash.src/M000008.html +8 -4
  32. data/doc/classes/Hash.src/M000009.html +4 -6
  33. data/doc/classes/Hash.src/M000010.html +7 -4
  34. data/doc/classes/Hash.src/M000011.html +9 -7
  35. data/doc/classes/Hash.src/M000012.html +4 -4
  36. data/doc/classes/Hash.src/M000013.html +4 -4
  37. data/doc/classes/Hash.src/M000014.html +4 -4
  38. data/doc/classes/Hash.src/M000015.html +4 -4
  39. data/doc/classes/Hash.src/M000016.html +4 -4
  40. data/doc/classes/Hash.src/M000017.html +5 -5
  41. data/doc/classes/Hash.src/M000018.html +13 -4
  42. data/doc/classes/Hash.src/M000019.html +6 -7
  43. data/doc/classes/Hash.src/M000020.html +4 -13
  44. data/doc/classes/Hash.src/M000021.html +4 -6
  45. data/doc/classes/Hash.src/M000022.html +4 -4
  46. data/doc/classes/Hash.src/M000023.html +4 -6
  47. data/doc/classes/Hash.src/M000024.html +4 -4
  48. data/doc/classes/Hash.src/M000025.html +14 -4
  49. data/doc/classes/Object.html +41 -41
  50. data/doc/classes/Object.src/{M000077.html → M000044.html} +0 -0
  51. data/doc/classes/Object.src/{M000078.html → M000045.html} +0 -0
  52. data/doc/classes/Object.src/{M000079.html → M000046.html} +1 -1
  53. data/doc/classes/Object.src/{M000080.html → M000047.html} +1 -1
  54. data/doc/classes/Object.src/{M000081.html → M000048.html} +1 -1
  55. data/doc/classes/Object.src/{M000082.html → M000049.html} +1 -1
  56. data/doc/classes/Object.src/{M000083.html → M000050.html} +1 -1
  57. data/doc/classes/Object.src/{M000084.html → M000051.html} +1 -1
  58. data/doc/classes/Qbxml/Request.html +15 -15
  59. data/doc/classes/Qbxml/Request.src/{M000184.html → M000132.html} +12 -11
  60. data/doc/classes/Qbxml/Request.src/{M000185.html → M000133.html} +1 -1
  61. data/doc/classes/Qbxml/Request.src/{M000186.html → M000134.html} +1 -1
  62. data/doc/classes/Qbxml/RequestSet.html +20 -20
  63. data/doc/classes/Qbxml/RequestSet.src/{M000187.html → M000135.html} +1 -1
  64. data/doc/classes/Qbxml/RequestSet.src/{M000188.html → M000136.html} +1 -1
  65. data/doc/classes/Qbxml/RequestSet.src/{M000189.html → M000137.html} +1 -1
  66. data/doc/classes/Qbxml/RequestSet.src/{M000190.html → M000138.html} +1 -1
  67. data/doc/classes/Qbxml/Response.html +45 -45
  68. data/doc/classes/Qbxml/Response.src/{M000175.html → M000123.html} +0 -0
  69. data/doc/classes/Qbxml/Response.src/{M000176.html → M000124.html} +0 -0
  70. data/doc/classes/Qbxml/Response.src/{M000177.html → M000125.html} +0 -0
  71. data/doc/classes/Qbxml/Response.src/{M000178.html → M000126.html} +0 -0
  72. data/doc/classes/Qbxml/Response.src/{M000179.html → M000127.html} +0 -0
  73. data/doc/classes/Qbxml/Response.src/{M000180.html → M000128.html} +0 -0
  74. data/doc/classes/Qbxml/Response.src/{M000181.html → M000129.html} +0 -0
  75. data/doc/classes/Qbxml/Response.src/{M000182.html → M000130.html} +0 -0
  76. data/doc/classes/Qbxml/Response.src/{M000183.html → M000131.html} +1 -1
  77. data/doc/classes/Qbxml/ResponseSet.html +35 -35
  78. data/doc/classes/Qbxml/ResponseSet.src/{M000168.html → M000116.html} +0 -0
  79. data/doc/classes/Qbxml/ResponseSet.src/{M000169.html → M000117.html} +0 -0
  80. data/doc/classes/Qbxml/ResponseSet.src/{M000170.html → M000118.html} +0 -0
  81. data/doc/classes/Qbxml/ResponseSet.src/{M000171.html → M000119.html} +0 -0
  82. data/doc/classes/Qbxml/ResponseSet.src/{M000172.html → M000120.html} +0 -0
  83. data/doc/classes/Qbxml/ResponseSet.src/{M000173.html → M000121.html} +0 -0
  84. data/doc/classes/Qbxml/ResponseSet.src/{M000174.html → M000122.html} +0 -0
  85. data/doc/classes/Quickbooks.html +6 -0
  86. data/doc/classes/Quickbooks/Address.html +5 -5
  87. data/doc/classes/Quickbooks/Address.src/{M000150.html → M000115.html} +0 -0
  88. data/doc/classes/Quickbooks/Base.html +167 -106
  89. data/doc/classes/Quickbooks/Base.src/{M000131.html → M000095.html} +1 -1
  90. data/doc/classes/Quickbooks/Base.src/{M000132.html → M000096.html} +1 -1
  91. data/doc/classes/Quickbooks/Base.src/{M000133.html → M000097.html} +1 -1
  92. data/doc/classes/Quickbooks/Base.src/{M000134.html → M000098.html} +1 -1
  93. data/doc/classes/Quickbooks/Base.src/{M000135.html → M000099.html} +1 -1
  94. data/doc/classes/Quickbooks/Base.src/{M000136.html → M000100.html} +1 -1
  95. data/doc/classes/Quickbooks/Base.src/{M000137.html → M000101.html} +1 -1
  96. data/doc/classes/Quickbooks/Base.src/{M000138.html → M000102.html} +1 -1
  97. data/doc/classes/Quickbooks/Base.src/{M000139.html → M000103.html} +1 -1
  98. data/doc/classes/Quickbooks/Base.src/{M000140.html → M000104.html} +1 -1
  99. data/doc/classes/Quickbooks/Base.src/M000105.html +18 -0
  100. data/doc/classes/Quickbooks/Base.src/{M000141.html → M000106.html} +1 -1
  101. data/doc/classes/Quickbooks/Base.src/{M000142.html → M000107.html} +1 -1
  102. data/doc/classes/Quickbooks/Base.src/{M000143.html → M000108.html} +1 -1
  103. data/doc/classes/Quickbooks/Base.src/{M000144.html → M000109.html} +1 -1
  104. data/doc/classes/Quickbooks/Base.src/{M000145.html → M000110.html} +1 -1
  105. data/doc/classes/Quickbooks/Base.src/{M000146.html → M000111.html} +2 -2
  106. data/doc/classes/Quickbooks/Base.src/{M000147.html → M000112.html} +1 -1
  107. data/doc/classes/Quickbooks/ListDeleted.html +5 -5
  108. data/doc/classes/Quickbooks/ListDeleted.src/{M000149.html → M000114.html} +0 -0
  109. data/doc/classes/Quickbooks/ListItem.html +26 -10
  110. data/doc/classes/Quickbooks/ListItem.src/{M000129.html → M000093.html} +3 -2
  111. data/doc/classes/Quickbooks/ListItem.src/{M000130.html → M000094.html} +1 -1
  112. data/doc/classes/Quickbooks/Model.html +110 -117
  113. data/doc/classes/Quickbooks/Model.src/{M000109.html → M000073.html} +3 -4
  114. data/doc/classes/Quickbooks/Model.src/{M000110.html → M000074.html} +2 -1
  115. data/doc/classes/Quickbooks/Model.src/{M000111.html → M000075.html} +2 -2
  116. data/doc/classes/Quickbooks/Model.src/{M000112.html → M000076.html} +2 -3
  117. data/doc/classes/Quickbooks/Model.src/{M000113.html → M000077.html} +0 -0
  118. data/doc/classes/Quickbooks/Model.src/{M000114.html → M000078.html} +0 -0
  119. data/doc/classes/Quickbooks/Model.src/{M000115.html → M000079.html} +0 -0
  120. data/doc/classes/Quickbooks/Model.src/{M000116.html → M000080.html} +0 -0
  121. data/doc/classes/Quickbooks/Model.src/{M000117.html → M000081.html} +0 -0
  122. data/doc/classes/Quickbooks/Model.src/{M000118.html → M000082.html} +0 -0
  123. data/doc/classes/Quickbooks/Model.src/{M000119.html → M000083.html} +0 -0
  124. data/doc/classes/Quickbooks/Model.src/{M000120.html → M000084.html} +0 -0
  125. data/doc/classes/Quickbooks/Model.src/{M000121.html → M000085.html} +0 -0
  126. data/doc/classes/Quickbooks/Model.src/{M000122.html → M000086.html} +0 -0
  127. data/doc/classes/Quickbooks/Model.src/{M000123.html → M000087.html} +0 -0
  128. data/doc/classes/Quickbooks/Model.src/{M000124.html → M000088.html} +2 -4
  129. data/doc/classes/Quickbooks/Model.src/{M000125.html → M000089.html} +3 -5
  130. data/doc/classes/Quickbooks/Model.src/{M000126.html → M000090.html} +1 -1
  131. data/doc/classes/Quickbooks/Model.src/{M000127.html → M000091.html} +1 -1
  132. data/doc/classes/Quickbooks/OleAdapter/Connection.html +65 -65
  133. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000094.html → M000058.html} +0 -0
  134. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000095.html → M000059.html} +0 -0
  135. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000096.html → M000060.html} +0 -0
  136. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000097.html → M000061.html} +0 -0
  137. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000098.html → M000062.html} +0 -0
  138. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000099.html → M000063.html} +1 -1
  139. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000100.html → M000064.html} +0 -0
  140. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000101.html → M000065.html} +0 -0
  141. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000102.html → M000066.html} +0 -0
  142. data/doc/classes/Quickbooks/OleAdapter/Connection.src/{M000103.html → M000067.html} +2 -2
  143. data/doc/classes/Quickbooks/OleAdapter/Ole.html +17 -17
  144. data/doc/classes/Quickbooks/OleAdapter/Ole.src/{M000104.html → M000068.html} +0 -0
  145. data/doc/classes/Quickbooks/OleAdapter/Ole.src/{M000105.html → M000069.html} +0 -0
  146. data/doc/classes/Quickbooks/OleAdapter/Ole.src/{M000106.html → M000070.html} +0 -0
  147. data/doc/classes/Quickbooks/QbxmlDebugAdapter/Connection.html +5 -5
  148. data/doc/classes/Quickbooks/QbxmlDebugAdapter/Connection.src/{M000093.html → M000057.html} +0 -0
  149. data/doc/classes/Quickbooks/Ref.html +12 -5
  150. data/doc/classes/Quickbooks/Ref.src/{M000148.html → M000113.html} +1 -1
  151. data/doc/classes/Quickbooks/Transaction.html +10 -10
  152. data/doc/classes/Quickbooks/Transaction.src/{M000107.html → M000071.html} +0 -0
  153. data/doc/classes/Quickbooks/Transaction.src/{M000108.html → M000072.html} +0 -0
  154. data/doc/classes/Quickbooks/TxnDeleted.html +5 -5
  155. data/doc/classes/Quickbooks/TxnDeleted.src/{M000128.html → M000092.html} +0 -0
  156. data/doc/classes/String.html +25 -91
  157. data/doc/classes/String.src/{M000085.html → M000052.html} +0 -0
  158. data/doc/classes/String.src/{M000086.html → M000053.html} +0 -0
  159. data/doc/classes/String.src/{M000087.html → M000054.html} +0 -0
  160. data/doc/classes/String.src/{M000088.html → M000055.html} +1 -1
  161. data/doc/classes/String.src/{M000089.html → M000056.html} +1 -1
  162. data/doc/created.rid +1 -1
  163. data/doc/files/LICENSE.html +1 -1
  164. data/doc/files/README.html +38 -10
  165. data/doc/files/lib/qbxml/request_rb.html +2 -1
  166. data/doc/files/lib/qbxml/response_rb.html +1 -1
  167. data/doc/files/lib/qbxml/support_rb.html +1 -8
  168. data/doc/files/lib/qbxml_rb.html +14 -1
  169. data/doc/files/lib/quickbooks/adapters/ole_adapter_rb.html +1 -1
  170. data/doc/files/lib/quickbooks/adapters/qbxml_debug_adapter_rb.html +1 -1
  171. data/doc/files/lib/quickbooks/base_rb.html +8 -3
  172. data/doc/files/lib/quickbooks/model_rb.html +1 -2
  173. data/doc/files/lib/quickbooks/models/common/address_rb.html +1 -1
  174. data/doc/files/lib/quickbooks/models/common/all_refs_rb.html +1 -1
  175. data/doc/files/lib/quickbooks/models/customer/credit_card_info_rb.html +1 -1
  176. data/doc/files/lib/quickbooks/models/customer_rb.html +1 -1
  177. data/doc/files/lib/quickbooks/models/deleted_rb.html +1 -1
  178. data/doc/files/lib/quickbooks/models/list_item_rb.html +1 -1
  179. data/doc/files/lib/quickbooks/models/transaction_rb.html +1 -1
  180. data/doc/files/lib/quickbooks/ruby_magic_rb.html +2 -1
  181. data/doc/files/lib/quickbooks_rb.html +14 -1
  182. data/doc/fr_class_index.html +0 -5
  183. data/doc/fr_file_index.html +0 -1
  184. data/doc/fr_method_index.html +138 -190
  185. data/lib/qbxml.rb +1 -0
  186. data/lib/qbxml/request.rb +12 -10
  187. data/lib/qbxml/response.rb +1 -1
  188. data/lib/qbxml/support.rb +1 -1
  189. data/lib/quickbooks.rb +1 -0
  190. data/lib/quickbooks/adapters/ole_adapter.rb +3 -3
  191. data/lib/quickbooks/base.rb +30 -3
  192. data/lib/quickbooks/model.rb +14 -18
  193. data/lib/quickbooks/models/common/all_refs.rb +1 -0
  194. data/lib/quickbooks/models/deleted.rb +1 -1
  195. data/lib/quickbooks/models/list_item.rb +7 -1
  196. data/lib/quickbooks/models/transaction.rb +1 -1
  197. data/lib/quickbooks/ruby_magic.rb +28 -11
  198. metadata +124 -179
  199. data/doc/classes/Array.src/M000048.html +0 -23
  200. data/doc/classes/Array.src/M000051.html +0 -18
  201. data/doc/classes/Array.src/M000052.html +0 -18
  202. data/doc/classes/Array.src/M000053.html +0 -18
  203. data/doc/classes/Array.src/M000054.html +0 -20
  204. data/doc/classes/Array.src/M000055.html +0 -18
  205. data/doc/classes/Array.src/M000056.html +0 -34
  206. data/doc/classes/Array.src/M000057.html +0 -19
  207. data/doc/classes/Array.src/M000058.html +0 -29
  208. data/doc/classes/Array.src/M000059.html +0 -18
  209. data/doc/classes/Array.src/M000060.html +0 -20
  210. data/doc/classes/Array.src/M000061.html +0 -18
  211. data/doc/classes/Array.src/M000062.html +0 -18
  212. data/doc/classes/Array.src/M000063.html +0 -19
  213. data/doc/classes/Hash.src/M000026.html +0 -18
  214. data/doc/classes/Hash.src/M000027.html +0 -22
  215. data/doc/classes/Hash.src/M000028.html +0 -18
  216. data/doc/classes/Hash.src/M000029.html +0 -20
  217. data/doc/classes/Hash.src/M000031.html +0 -30
  218. data/doc/classes/Hash.src/M000032.html +0 -19
  219. data/doc/classes/Hash.src/M000033.html +0 -19
  220. data/doc/classes/Hash.src/M000034.html +0 -18
  221. data/doc/classes/Hash.src/M000035.html +0 -18
  222. data/doc/classes/Hash.src/M000036.html +0 -21
  223. data/doc/classes/OrderedArray.html +0 -178
  224. data/doc/classes/OrderedArray.src/M000001.html +0 -18
  225. data/doc/classes/OrderedArray.src/M000002.html +0 -18
  226. data/doc/classes/OrderedArray.src/M000003.html +0 -18
  227. data/doc/classes/OrderedHash.html +0 -324
  228. data/doc/classes/OrderedHash.src/M000064.html +0 -19
  229. data/doc/classes/OrderedHash.src/M000065.html +0 -18
  230. data/doc/classes/OrderedHash.src/M000066.html +0 -18
  231. data/doc/classes/OrderedHash.src/M000067.html +0 -18
  232. data/doc/classes/OrderedHash.src/M000068.html +0 -18
  233. data/doc/classes/OrderedHash.src/M000069.html +0 -18
  234. data/doc/classes/OrderedHash.src/M000070.html +0 -20
  235. data/doc/classes/OrderedHash.src/M000071.html +0 -18
  236. data/doc/classes/OrderedHash.src/M000072.html +0 -18
  237. data/doc/classes/OrderedHash.src/M000073.html +0 -19
  238. data/doc/classes/OrderedHash.src/M000074.html +0 -24
  239. data/doc/classes/SlashedArray.html +0 -226
  240. data/doc/classes/SlashedArray.src/M000161.html +0 -23
  241. data/doc/classes/SlashedArray.src/M000162.html +0 -18
  242. data/doc/classes/SlashedArray.src/M000163.html +0 -18
  243. data/doc/classes/SlashedArray.src/M000164.html +0 -22
  244. data/doc/classes/SlashedArray.src/M000165.html +0 -22
  245. data/doc/classes/SlashedArray.src/M000166.html +0 -18
  246. data/doc/classes/SlashedArray.src/M000167.html +0 -22
  247. data/doc/classes/SlashedHash.html +0 -193
  248. data/doc/classes/SlashedHash.src/M000156.html +0 -22
  249. data/doc/classes/SlashedHash.src/M000157.html +0 -18
  250. data/doc/classes/SlashedHash.src/M000158.html +0 -18
  251. data/doc/classes/SlashedHash.src/M000159.html +0 -27
  252. data/doc/classes/SlashedHash.src/M000160.html +0 -22
  253. data/doc/classes/String.src/M000090.html +0 -18
  254. data/doc/classes/String.src/M000091.html +0 -18
  255. data/doc/classes/String.src/M000092.html +0 -97
  256. data/doc/classes/UniqueArray.html +0 -193
  257. data/doc/classes/UniqueArray.src/M000151.html +0 -25
  258. data/doc/classes/UniqueArray.src/M000152.html +0 -18
  259. data/doc/classes/UniqueArray.src/M000153.html +0 -20
  260. data/doc/classes/UniqueArray.src/M000154.html +0 -20
  261. data/doc/classes/UniqueArray.src/M000155.html +0 -20
  262. data/doc/files/lib/quickbooks/structure_rb.html +0 -122
  263. data/lib/quickbooks/structure.rb +0 -393
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The purpose of this gem is to perform connectivity and communication with Quickbooks, providing the user with access to quickbooks data as everyday ruby objects. This could be understood to be somewhat like an ORM, but it is different in that its models are predefined by the Quickbooks API.
4
4
 
5
- In releases prior to 1.0, some knowledge of the Quickbooks API may be required. In releases beyond 1.0, the Quickbooks API should be fully hidden from your view.
5
+ In releases prior to 0.1.0, some knowledge of the Quickbooks API may be required. In releases beyond 0.1.0, the Quickbooks API should be fully hidden from your view.
6
6
 
7
7
  Enjoy and PLEASE contribute either by suggestion or by submitting patches, etc. Or if development seems slow, please feel free to join! My work on this project has been solely for my own use of the gem, while opening up its achievements for others to use as well. Development may slow down considerably when I find it is at a stable and usable point for my needs. You've been warned! ;)
8
8
 
@@ -13,8 +13,9 @@ Enjoy and PLEASE contribute either by suggestion or by submitting patches, etc.
13
13
 
14
14
  == Status
15
15
 
16
- This library is a work in progress and has limited capabilities right now. As of version 0.0.5, the Customer model is the only model fleshed out and in working condition, and that even with some bugs. It is stable in the capabilities that are defined, but there are
17
- some points where the usability needs improvement. I have attempted to make the Quickbooks family of models to work much like DataMapper models, with their finder methods and such.
16
+ This library is a work in progress. This package is separated into two distinct components: Qbxml and Quickbooks (models). The Qbxml represents most of the work of complying to the Quickbooks SDK, and is useful separate from the Quickbooks portion, for use with the QB Web Connector or QB Online Edition (as this gem does not support these connection types yet). For now, The Web Connector is NOT in plans to be supported as it requires additional logic of a different kind in asynchronous network communication.
17
+
18
+ Furthermore, as of version 0.1.0, the Customer model is the only model fleshed out and in working condition. It is rather stable, but please report any bugs you find. I have attempted to make the Quickbooks family of models to work much like DataMapper models, with their finder methods and such. It may be possible to make this gem into a DataMapper adapter.
18
19
 
19
20
  == Usage
20
21
 
@@ -29,7 +30,9 @@ Without any configuration, you should be able to talk to Quickbooks immediately
29
30
  c.last_name = 'Smith'
30
31
  c.save
31
32
 
32
- Again, until a later version, you will need to be running Quickbooks on the same computer _and have quickbooks open_ to the company file you need.
33
+ Read further in Qbxml::Request and Qbxml::Response in order to get a better understanding of the kinds of options you can use. The Quickbooks::Base - inherited models also hold a lot of logic that is specific to each data type.
34
+
35
+ Again, until a later version, you will need to be running Quickbooks on the same computer _and have quickbooks open_ to the company file you need. The first time you run your script, you will need to authorize access to your script when Quickbooks asks you to.
33
36
 
34
37
  == Authors
35
38
 
@@ -41,4 +44,6 @@ This library is released under the terms of the MIT License.
41
44
  == Changes
42
45
 
43
46
  * Initial import of a new rewrite at version 0.0.3
44
- * 0.0.5 includes support for ordered qbxml attributes, as well as better error-handling and smarter saving.
47
+ * 0.0.5 includes support for ordered qbxml attributes, as well as better error-handling and smarter saving.
48
+ * 0.0.7 includes support for nested finder options, with aliases for easy access. Outdated by bugfixes in the next version.
49
+ * 0.1.0 Bugfixes, a little more docs, and connection is a little more robust.
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ require 'rake/gempackagetask'
6
6
  require 'rake/contrib/rubyforgepublisher'
7
7
 
8
8
  PKG_NAME = 'quickbooks'
9
- PKG_VERSION = "0.0.7"
9
+ PKG_VERSION = "0.4.0"
10
10
 
11
11
  PKG_FILES = FileList[
12
12
  "lib/**/*", "rspec/**/*", "[A-Z]*", "Rakefile", "doc/**/*"
@@ -43,7 +43,8 @@ spec = Gem::Specification.new do |s|
43
43
  s.description = s.summary = "A module to connect to QuickBooks through the QuickBooks SDK using WIN32OLE (other connection types to come)."
44
44
 
45
45
  #### Dependencies.
46
- s.add_dependency('formattedstring', '>= 0.0.1')
46
+ s.add_dependency('formattedstring', '>= 0.1.0')
47
+ s.add_dependency('hash_magic', '>= 0.1.0')
47
48
 
48
49
  #### Which files are to be included in this gem? Everything! (Except CVS directories.)
49
50
  s.files = PKG_FILES
@@ -56,7 +57,7 @@ spec = Gem::Specification.new do |s|
56
57
  s.extra_rdoc_files = ["README", "LICENSE"]
57
58
 
58
59
  #### Author and project details.
59
- s.author = "Chris Bruce & Daniel Parker"
60
+ s.author = "Daniel Parker"
60
61
  s.email = "gems@behindlogic.com"
61
62
  s.homepage = "http://quickbooks.rubyforge.org"
62
63
  s.rubyforge_project = 'quickbooks'
@@ -62,10 +62,6 @@
62
62
  <a href="../files/lib/quickbooks/ruby_magic_rb.html">
63
63
  lib/quickbooks/ruby_magic.rb
64
64
  </a>
65
- <br />
66
- <a href="../files/lib/quickbooks/structure_rb.html">
67
- lib/quickbooks/structure.rb
68
- </a>
69
65
  <br />
70
66
  </td>
71
67
  </tr>
@@ -96,33 +92,22 @@
96
92
  <h3 class="section-bar">Methods</h3>
97
93
 
98
94
  <div class="name-list">
99
- <a href="#M000037">camelize_values</a>&nbsp;&nbsp;
100
- <a href="#M000049">camelize_values</a>&nbsp;&nbsp;
101
- <a href="#M000038">camelize_values!</a>&nbsp;&nbsp;
102
- <a href="#M000050">camelize_values!</a>&nbsp;&nbsp;
103
- <a href="#M000058">expand_slashes</a>&nbsp;&nbsp;
104
- <a href="#M000057">expand_slashes!</a>&nbsp;&nbsp;
105
- <a href="#M000056">flatten_slashes</a>&nbsp;&nbsp;
106
- <a href="#M000055">flatten_slashes!</a>&nbsp;&nbsp;
107
- <a href="#M000060">keep_unique!</a>&nbsp;&nbsp;
108
- <a href="#M000047">only</a>&nbsp;&nbsp;
109
- <a href="#M000041">only</a>&nbsp;&nbsp;
110
- <a href="#M000048">only!</a>&nbsp;&nbsp;
111
- <a href="#M000042">only!</a>&nbsp;&nbsp;
112
- <a href="#M000043">order</a>&nbsp;&nbsp;
113
- <a href="#M000051">order</a>&nbsp;&nbsp;
114
- <a href="#M000044">order!</a>&nbsp;&nbsp;
115
- <a href="#M000052">order!</a>&nbsp;&nbsp;
116
- <a href="#M000061">ordered!</a>&nbsp;&nbsp;
117
- <a href="#M000062">ordered?</a>&nbsp;&nbsp;
118
- <a href="#M000063">ordered_propogated!</a>&nbsp;&nbsp;
119
- <a href="#M000054">slashed!</a>&nbsp;&nbsp;
120
- <a href="#M000053">slashed?</a>&nbsp;&nbsp;
121
- <a href="#M000059">step_into_slash</a>&nbsp;&nbsp;
122
- <a href="#M000045">stringify_values</a>&nbsp;&nbsp;
123
- <a href="#M000039">stringify_values</a>&nbsp;&nbsp;
124
- <a href="#M000040">stringify_values!</a>&nbsp;&nbsp;
125
- <a href="#M000046">stringify_values!</a>&nbsp;&nbsp;
95
+ <a href="#M000026">camelize_values</a>&nbsp;&nbsp;
96
+ <a href="#M000038">camelize_values</a>&nbsp;&nbsp;
97
+ <a href="#M000027">camelize_values!</a>&nbsp;&nbsp;
98
+ <a href="#M000039">camelize_values!</a>&nbsp;&nbsp;
99
+ <a href="#M000030">only</a>&nbsp;&nbsp;
100
+ <a href="#M000036">only</a>&nbsp;&nbsp;
101
+ <a href="#M000031">only!</a>&nbsp;&nbsp;
102
+ <a href="#M000037">only!</a>&nbsp;&nbsp;
103
+ <a href="#M000032">order</a>&nbsp;&nbsp;
104
+ <a href="#M000040">order</a>&nbsp;&nbsp;
105
+ <a href="#M000033">order!</a>&nbsp;&nbsp;
106
+ <a href="#M000041">order!</a>&nbsp;&nbsp;
107
+ <a href="#M000034">stringify_values</a>&nbsp;&nbsp;
108
+ <a href="#M000028">stringify_values</a>&nbsp;&nbsp;
109
+ <a href="#M000029">stringify_values!</a>&nbsp;&nbsp;
110
+ <a href="#M000035">stringify_values!</a>&nbsp;&nbsp;
126
111
  </div>
127
112
  </div>
128
113
 
@@ -144,26 +129,12 @@
144
129
  <div id="methods">
145
130
  <h3 class="section-bar">Public Instance methods</h3>
146
131
 
147
- <div id="method-M000037" class="method-detail">
148
- <a name="M000037"></a>
149
-
150
- <div class="method-heading">
151
- <a href="Array.src/M000037.html" target="Code" class="method-signature"
152
- onclick="popupCode('Array.src/M000037.html');return false;">
153
- <span class="method-name">camelize_values</span><span class="method-args">(specials={})</span>
154
- </a>
155
- </div>
156
-
157
- <div class="method-description">
158
- </div>
159
- </div>
160
-
161
- <div id="method-M000049" class="method-detail">
162
- <a name="M000049"></a>
132
+ <div id="method-M000026" class="method-detail">
133
+ <a name="M000026"></a>
163
134
 
164
135
  <div class="method-heading">
165
- <a href="Array.src/M000049.html" target="Code" class="method-signature"
166
- onclick="popupCode('Array.src/M000049.html');return false;">
136
+ <a href="Array.src/M000026.html" target="Code" class="method-signature"
137
+ onclick="popupCode('Array.src/M000026.html');return false;">
167
138
  <span class="method-name">camelize_values</span><span class="method-args">(specials={})</span>
168
139
  </a>
169
140
  </div>
@@ -178,7 +149,7 @@
178
149
  <div class="method-heading">
179
150
  <a href="Array.src/M000038.html" target="Code" class="method-signature"
180
151
  onclick="popupCode('Array.src/M000038.html');return false;">
181
- <span class="method-name">camelize_values!</span><span class="method-args">(specials={})</span>
152
+ <span class="method-name">camelize_values</span><span class="method-args">(specials={})</span>
182
153
  </a>
183
154
  </div>
184
155
 
@@ -186,12 +157,12 @@
186
157
  </div>
187
158
  </div>
188
159
 
189
- <div id="method-M000050" class="method-detail">
190
- <a name="M000050"></a>
160
+ <div id="method-M000027" class="method-detail">
161
+ <a name="M000027"></a>
191
162
 
192
163
  <div class="method-heading">
193
- <a href="Array.src/M000050.html" target="Code" class="method-signature"
194
- onclick="popupCode('Array.src/M000050.html');return false;">
164
+ <a href="Array.src/M000027.html" target="Code" class="method-signature"
165
+ onclick="popupCode('Array.src/M000027.html');return false;">
195
166
  <span class="method-name">camelize_values!</span><span class="method-args">(specials={})</span>
196
167
  </a>
197
168
  </div>
@@ -200,69 +171,13 @@
200
171
  </div>
201
172
  </div>
202
173
 
203
- <div id="method-M000058" class="method-detail">
204
- <a name="M000058"></a>
205
-
206
- <div class="method-heading">
207
- <a href="Array.src/M000058.html" target="Code" class="method-signature"
208
- onclick="popupCode('Array.src/M000058.html');return false;">
209
- <span class="method-name">expand_slashes</span><span class="method-args">(seed=nil)</span>
210
- </a>
211
- </div>
212
-
213
- <div class="method-description">
214
- </div>
215
- </div>
216
-
217
- <div id="method-M000057" class="method-detail">
218
- <a name="M000057"></a>
219
-
220
- <div class="method-heading">
221
- <a href="Array.src/M000057.html" target="Code" class="method-signature"
222
- onclick="popupCode('Array.src/M000057.html');return false;">
223
- <span class="method-name">expand_slashes!</span><span class="method-args">(seed=nil)</span>
224
- </a>
225
- </div>
226
-
227
- <div class="method-description">
228
- </div>
229
- </div>
230
-
231
- <div id="method-M000056" class="method-detail">
232
- <a name="M000056"></a>
233
-
234
- <div class="method-heading">
235
- <a href="Array.src/M000056.html" target="Code" class="method-signature"
236
- onclick="popupCode('Array.src/M000056.html');return false;">
237
- <span class="method-name">flatten_slashes</span><span class="method-args">()</span>
238
- </a>
239
- </div>
240
-
241
- <div class="method-description">
242
- </div>
243
- </div>
244
-
245
- <div id="method-M000055" class="method-detail">
246
- <a name="M000055"></a>
247
-
248
- <div class="method-heading">
249
- <a href="Array.src/M000055.html" target="Code" class="method-signature"
250
- onclick="popupCode('Array.src/M000055.html');return false;">
251
- <span class="method-name">flatten_slashes!</span><span class="method-args">()</span>
252
- </a>
253
- </div>
254
-
255
- <div class="method-description">
256
- </div>
257
- </div>
258
-
259
- <div id="method-M000060" class="method-detail">
260
- <a name="M000060"></a>
174
+ <div id="method-M000039" class="method-detail">
175
+ <a name="M000039"></a>
261
176
 
262
177
  <div class="method-heading">
263
- <a href="Array.src/M000060.html" target="Code" class="method-signature"
264
- onclick="popupCode('Array.src/M000060.html');return false;">
265
- <span class="method-name">keep_unique!</span><span class="method-args">()</span>
178
+ <a href="Array.src/M000039.html" target="Code" class="method-signature"
179
+ onclick="popupCode('Array.src/M000039.html');return false;">
180
+ <span class="method-name">camelize_values!</span><span class="method-args">(specials={})</span>
266
181
  </a>
267
182
  </div>
268
183
 
@@ -270,12 +185,12 @@
270
185
  </div>
271
186
  </div>
272
187
 
273
- <div id="method-M000047" class="method-detail">
274
- <a name="M000047"></a>
188
+ <div id="method-M000030" class="method-detail">
189
+ <a name="M000030"></a>
275
190
 
276
191
  <div class="method-heading">
277
- <a href="Array.src/M000047.html" target="Code" class="method-signature"
278
- onclick="popupCode('Array.src/M000047.html');return false;">
192
+ <a href="Array.src/M000030.html" target="Code" class="method-signature"
193
+ onclick="popupCode('Array.src/M000030.html');return false;">
279
194
  <span class="method-name">only</span><span class="method-args">(*values)</span>
280
195
  </a>
281
196
  </div>
@@ -284,12 +199,12 @@
284
199
  </div>
285
200
  </div>
286
201
 
287
- <div id="method-M000041" class="method-detail">
288
- <a name="M000041"></a>
202
+ <div id="method-M000036" class="method-detail">
203
+ <a name="M000036"></a>
289
204
 
290
205
  <div class="method-heading">
291
- <a href="Array.src/M000041.html" target="Code" class="method-signature"
292
- onclick="popupCode('Array.src/M000041.html');return false;">
206
+ <a href="Array.src/M000036.html" target="Code" class="method-signature"
207
+ onclick="popupCode('Array.src/M000036.html');return false;">
293
208
  <span class="method-name">only</span><span class="method-args">(*values)</span>
294
209
  </a>
295
210
  </div>
@@ -298,12 +213,12 @@
298
213
  </div>
299
214
  </div>
300
215
 
301
- <div id="method-M000048" class="method-detail">
302
- <a name="M000048"></a>
216
+ <div id="method-M000031" class="method-detail">
217
+ <a name="M000031"></a>
303
218
 
304
219
  <div class="method-heading">
305
- <a href="Array.src/M000048.html" target="Code" class="method-signature"
306
- onclick="popupCode('Array.src/M000048.html');return false;">
220
+ <a href="Array.src/M000031.html" target="Code" class="method-signature"
221
+ onclick="popupCode('Array.src/M000031.html');return false;">
307
222
  <span class="method-name">only!</span><span class="method-args">(*values)</span>
308
223
  </a>
309
224
  </div>
@@ -312,12 +227,12 @@
312
227
  </div>
313
228
  </div>
314
229
 
315
- <div id="method-M000042" class="method-detail">
316
- <a name="M000042"></a>
230
+ <div id="method-M000037" class="method-detail">
231
+ <a name="M000037"></a>
317
232
 
318
233
  <div class="method-heading">
319
- <a href="Array.src/M000042.html" target="Code" class="method-signature"
320
- onclick="popupCode('Array.src/M000042.html');return false;">
234
+ <a href="Array.src/M000037.html" target="Code" class="method-signature"
235
+ onclick="popupCode('Array.src/M000037.html');return false;">
321
236
  <span class="method-name">only!</span><span class="method-args">(*values)</span>
322
237
  </a>
323
238
  </div>
@@ -326,12 +241,12 @@
326
241
  </div>
327
242
  </div>
328
243
 
329
- <div id="method-M000043" class="method-detail">
330
- <a name="M000043"></a>
244
+ <div id="method-M000032" class="method-detail">
245
+ <a name="M000032"></a>
331
246
 
332
247
  <div class="method-heading">
333
- <a href="Array.src/M000043.html" target="Code" class="method-signature"
334
- onclick="popupCode('Array.src/M000043.html');return false;">
248
+ <a href="Array.src/M000032.html" target="Code" class="method-signature"
249
+ onclick="popupCode('Array.src/M000032.html');return false;">
335
250
  <span class="method-name">order</span><span class="method-args">(*ordered)</span>
336
251
  </a>
337
252
  </div>
@@ -340,12 +255,12 @@
340
255
  </div>
341
256
  </div>
342
257
 
343
- <div id="method-M000051" class="method-detail">
344
- <a name="M000051"></a>
258
+ <div id="method-M000040" class="method-detail">
259
+ <a name="M000040"></a>
345
260
 
346
261
  <div class="method-heading">
347
- <a href="Array.src/M000051.html" target="Code" class="method-signature"
348
- onclick="popupCode('Array.src/M000051.html');return false;">
262
+ <a href="Array.src/M000040.html" target="Code" class="method-signature"
263
+ onclick="popupCode('Array.src/M000040.html');return false;">
349
264
  <span class="method-name">order</span><span class="method-args">(*ordered)</span>
350
265
  </a>
351
266
  </div>
@@ -354,12 +269,12 @@
354
269
  </div>
355
270
  </div>
356
271
 
357
- <div id="method-M000044" class="method-detail">
358
- <a name="M000044"></a>
272
+ <div id="method-M000033" class="method-detail">
273
+ <a name="M000033"></a>
359
274
 
360
275
  <div class="method-heading">
361
- <a href="Array.src/M000044.html" target="Code" class="method-signature"
362
- onclick="popupCode('Array.src/M000044.html');return false;">
276
+ <a href="Array.src/M000033.html" target="Code" class="method-signature"
277
+ onclick="popupCode('Array.src/M000033.html');return false;">
363
278
  <span class="method-name">order!</span><span class="method-args">(*ordered)</span>
364
279
  </a>
365
280
  </div>
@@ -368,12 +283,12 @@
368
283
  </div>
369
284
  </div>
370
285
 
371
- <div id="method-M000052" class="method-detail">
372
- <a name="M000052"></a>
286
+ <div id="method-M000041" class="method-detail">
287
+ <a name="M000041"></a>
373
288
 
374
289
  <div class="method-heading">
375
- <a href="Array.src/M000052.html" target="Code" class="method-signature"
376
- onclick="popupCode('Array.src/M000052.html');return false;">
290
+ <a href="Array.src/M000041.html" target="Code" class="method-signature"
291
+ onclick="popupCode('Array.src/M000041.html');return false;">
377
292
  <span class="method-name">order!</span><span class="method-args">(*ordered)</span>
378
293
  </a>
379
294
  </div>
@@ -382,96 +297,12 @@
382
297
  </div>
383
298
  </div>
384
299
 
385
- <div id="method-M000061" class="method-detail">
386
- <a name="M000061"></a>
387
-
388
- <div class="method-heading">
389
- <a href="Array.src/M000061.html" target="Code" class="method-signature"
390
- onclick="popupCode('Array.src/M000061.html');return false;">
391
- <span class="method-name">ordered!</span><span class="method-args">(*keys_in_order)</span>
392
- </a>
393
- </div>
394
-
395
- <div class="method-description">
396
- </div>
397
- </div>
398
-
399
- <div id="method-M000062" class="method-detail">
400
- <a name="M000062"></a>
401
-
402
- <div class="method-heading">
403
- <a href="Array.src/M000062.html" target="Code" class="method-signature"
404
- onclick="popupCode('Array.src/M000062.html');return false;">
405
- <span class="method-name">ordered?</span><span class="method-args">()</span>
406
- </a>
407
- </div>
408
-
409
- <div class="method-description">
410
- </div>
411
- </div>
412
-
413
- <div id="method-M000063" class="method-detail">
414
- <a name="M000063"></a>
415
-
416
- <div class="method-heading">
417
- <a href="Array.src/M000063.html" target="Code" class="method-signature"
418
- onclick="popupCode('Array.src/M000063.html');return false;">
419
- <span class="method-name">ordered_propogated!</span><span class="method-args">()</span>
420
- </a>
421
- </div>
422
-
423
- <div class="method-description">
424
- </div>
425
- </div>
426
-
427
- <div id="method-M000054" class="method-detail">
428
- <a name="M000054"></a>
429
-
430
- <div class="method-heading">
431
- <a href="Array.src/M000054.html" target="Code" class="method-signature"
432
- onclick="popupCode('Array.src/M000054.html');return false;">
433
- <span class="method-name">slashed!</span><span class="method-args">()</span>
434
- </a>
435
- </div>
436
-
437
- <div class="method-description">
438
- </div>
439
- </div>
440
-
441
- <div id="method-M000053" class="method-detail">
442
- <a name="M000053"></a>
443
-
444
- <div class="method-heading">
445
- <a href="Array.src/M000053.html" target="Code" class="method-signature"
446
- onclick="popupCode('Array.src/M000053.html');return false;">
447
- <span class="method-name">slashed?</span><span class="method-args">()</span>
448
- </a>
449
- </div>
450
-
451
- <div class="method-description">
452
- </div>
453
- </div>
454
-
455
- <div id="method-M000059" class="method-detail">
456
- <a name="M000059"></a>
300
+ <div id="method-M000034" class="method-detail">
301
+ <a name="M000034"></a>
457
302
 
458
303
  <div class="method-heading">
459
- <a href="Array.src/M000059.html" target="Code" class="method-signature"
460
- onclick="popupCode('Array.src/M000059.html');return false;">
461
- <span class="method-name">step_into_slash</span><span class="method-args">(key)</span>
462
- </a>
463
- </div>
464
-
465
- <div class="method-description">
466
- </div>
467
- </div>
468
-
469
- <div id="method-M000045" class="method-detail">
470
- <a name="M000045"></a>
471
-
472
- <div class="method-heading">
473
- <a href="Array.src/M000045.html" target="Code" class="method-signature"
474
- onclick="popupCode('Array.src/M000045.html');return false;">
304
+ <a href="Array.src/M000034.html" target="Code" class="method-signature"
305
+ onclick="popupCode('Array.src/M000034.html');return false;">
475
306
  <span class="method-name">stringify_values</span><span class="method-args">()</span>
476
307
  </a>
477
308
  </div>
@@ -480,12 +311,12 @@
480
311
  </div>
481
312
  </div>
482
313
 
483
- <div id="method-M000039" class="method-detail">
484
- <a name="M000039"></a>
314
+ <div id="method-M000028" class="method-detail">
315
+ <a name="M000028"></a>
485
316
 
486
317
  <div class="method-heading">
487
- <a href="Array.src/M000039.html" target="Code" class="method-signature"
488
- onclick="popupCode('Array.src/M000039.html');return false;">
318
+ <a href="Array.src/M000028.html" target="Code" class="method-signature"
319
+ onclick="popupCode('Array.src/M000028.html');return false;">
489
320
  <span class="method-name">stringify_values</span><span class="method-args">()</span>
490
321
  </a>
491
322
  </div>
@@ -494,12 +325,12 @@
494
325
  </div>
495
326
  </div>
496
327
 
497
- <div id="method-M000040" class="method-detail">
498
- <a name="M000040"></a>
328
+ <div id="method-M000029" class="method-detail">
329
+ <a name="M000029"></a>
499
330
 
500
331
  <div class="method-heading">
501
- <a href="Array.src/M000040.html" target="Code" class="method-signature"
502
- onclick="popupCode('Array.src/M000040.html');return false;">
332
+ <a href="Array.src/M000029.html" target="Code" class="method-signature"
333
+ onclick="popupCode('Array.src/M000029.html');return false;">
503
334
  <span class="method-name">stringify_values!</span><span class="method-args">()</span>
504
335
  </a>
505
336
  </div>
@@ -508,12 +339,12 @@
508
339
  </div>
509
340
  </div>
510
341
 
511
- <div id="method-M000046" class="method-detail">
512
- <a name="M000046"></a>
342
+ <div id="method-M000035" class="method-detail">
343
+ <a name="M000035"></a>
513
344
 
514
345
  <div class="method-heading">
515
- <a href="Array.src/M000046.html" target="Code" class="method-signature"
516
- onclick="popupCode('Array.src/M000046.html');return false;">
346
+ <a href="Array.src/M000035.html" target="Code" class="method-signature"
347
+ onclick="popupCode('Array.src/M000035.html');return false;">
517
348
  <span class="method-name">stringify_values!</span><span class="method-args">()</span>
518
349
  </a>
519
350
  </div>