ledger_sync 1.6.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (336) hide show
  1. checksums.yaml +4 -4
  2. data/.env.template +0 -3
  3. data/.github/workflows/gem-workflow.yml +67 -0
  4. data/.rubocop.yml +1 -0
  5. data/Gemfile.lock +35 -61
  6. data/ledger_sync.gemspec +2 -4
  7. data/lib/ledger_sync.rb +3 -3
  8. data/lib/ledger_sync/ledgers/client.rb +8 -4
  9. data/lib/ledger_sync/ledgers/operation.rb +1 -1
  10. data/lib/ledger_sync/test/support/qa/shared_examples.rb +13 -3
  11. data/lib/ledger_sync/test/support/test_ledger/config.rb +1 -0
  12. data/lib/ledger_sync/test/support/test_ledger/customer/deserializer.rb +2 -0
  13. data/lib/ledger_sync/test/support/test_ledger/searcher.rb +1 -1
  14. data/lib/ledger_sync/version.rb +6 -4
  15. metadata +22 -370
  16. data/.coveralls.yml +0 -1
  17. data/bin/qa +0 -3
  18. data/bin/quickbooks_online_oauth_server.rb +0 -103
  19. data/lib/ledger_sync/ledgers/netsuite/account/deserializer.rb +0 -23
  20. data/lib/ledger_sync/ledgers/netsuite/account/operations/create.rb +0 -28
  21. data/lib/ledger_sync/ledgers/netsuite/account/operations/find.rb +0 -28
  22. data/lib/ledger_sync/ledgers/netsuite/account/searcher.rb +0 -12
  23. data/lib/ledger_sync/ledgers/netsuite/account/searcher_deserializer.rb +0 -29
  24. data/lib/ledger_sync/ledgers/netsuite/account/serializer.rb +0 -21
  25. data/lib/ledger_sync/ledgers/netsuite/check/deserializer.rb +0 -29
  26. data/lib/ledger_sync/ledgers/netsuite/check/operations/create.rb +0 -27
  27. data/lib/ledger_sync/ledgers/netsuite/check/operations/delete.rb +0 -27
  28. data/lib/ledger_sync/ledgers/netsuite/check/operations/find.rb +0 -27
  29. data/lib/ledger_sync/ledgers/netsuite/check/operations/update.rb +0 -27
  30. data/lib/ledger_sync/ledgers/netsuite/check/searcher.rb +0 -15
  31. data/lib/ledger_sync/ledgers/netsuite/check/searcher_deserializer.rb +0 -16
  32. data/lib/ledger_sync/ledgers/netsuite/check/serializer.rb +0 -51
  33. data/lib/ledger_sync/ledgers/netsuite/check_line_item/deserializer.rb +0 -18
  34. data/lib/ledger_sync/ledgers/netsuite/check_line_item/serializer.rb +0 -26
  35. data/lib/ledger_sync/ledgers/netsuite/client.rb +0 -188
  36. data/lib/ledger_sync/ledgers/netsuite/config.rb +0 -7
  37. data/lib/ledger_sync/ledgers/netsuite/currency/deserializer.rb +0 -23
  38. data/lib/ledger_sync/ledgers/netsuite/currency/operations/create.rb +0 -25
  39. data/lib/ledger_sync/ledgers/netsuite/currency/operations/delete.rb +0 -23
  40. data/lib/ledger_sync/ledgers/netsuite/currency/operations/find.rb +0 -23
  41. data/lib/ledger_sync/ledgers/netsuite/currency/operations/update.rb +0 -23
  42. data/lib/ledger_sync/ledgers/netsuite/currency/serializer.rb +0 -21
  43. data/lib/ledger_sync/ledgers/netsuite/customer/deserializer.rb +0 -22
  44. data/lib/ledger_sync/ledgers/netsuite/customer/operations/create.rb +0 -26
  45. data/lib/ledger_sync/ledgers/netsuite/customer/operations/delete.rb +0 -26
  46. data/lib/ledger_sync/ledgers/netsuite/customer/operations/find.rb +0 -26
  47. data/lib/ledger_sync/ledgers/netsuite/customer/operations/update.rb +0 -26
  48. data/lib/ledger_sync/ledgers/netsuite/customer/searcher.rb +0 -12
  49. data/lib/ledger_sync/ledgers/netsuite/customer/searcher_deserializer.rb +0 -18
  50. data/lib/ledger_sync/ledgers/netsuite/customer/serializer.rb +0 -29
  51. data/lib/ledger_sync/ledgers/netsuite/customer_deposit/deserializer.rb +0 -20
  52. data/lib/ledger_sync/ledgers/netsuite/customer_deposit/operations/create.rb +0 -24
  53. data/lib/ledger_sync/ledgers/netsuite/customer_deposit/operations/delete.rb +0 -24
  54. data/lib/ledger_sync/ledgers/netsuite/customer_deposit/operations/find.rb +0 -24
  55. data/lib/ledger_sync/ledgers/netsuite/customer_deposit/operations/update.rb +0 -24
  56. data/lib/ledger_sync/ledgers/netsuite/customer_deposit/searcher.rb +0 -12
  57. data/lib/ledger_sync/ledgers/netsuite/customer_deposit/searcher_deserializer.rb +0 -16
  58. data/lib/ledger_sync/ledgers/netsuite/customer_deposit/serializer.rb +0 -25
  59. data/lib/ledger_sync/ledgers/netsuite/dashboard_url_helper.rb +0 -28
  60. data/lib/ledger_sync/ledgers/netsuite/department/deserializer.rb +0 -15
  61. data/lib/ledger_sync/ledgers/netsuite/department/operations/create.rb +0 -25
  62. data/lib/ledger_sync/ledgers/netsuite/department/operations/delete.rb +0 -25
  63. data/lib/ledger_sync/ledgers/netsuite/department/operations/find.rb +0 -25
  64. data/lib/ledger_sync/ledgers/netsuite/department/operations/update.rb +0 -25
  65. data/lib/ledger_sync/ledgers/netsuite/department/searcher.rb +0 -12
  66. data/lib/ledger_sync/ledgers/netsuite/department/searcher_deserializer.rb +0 -19
  67. data/lib/ledger_sync/ledgers/netsuite/department/serializer.rb +0 -13
  68. data/lib/ledger_sync/ledgers/netsuite/deserializer.rb +0 -18
  69. data/lib/ledger_sync/ledgers/netsuite/error.rb +0 -19
  70. data/lib/ledger_sync/ledgers/netsuite/journal_entry/deserializer.rb +0 -31
  71. data/lib/ledger_sync/ledgers/netsuite/journal_entry/operations/create.rb +0 -26
  72. data/lib/ledger_sync/ledgers/netsuite/journal_entry/operations/delete.rb +0 -26
  73. data/lib/ledger_sync/ledgers/netsuite/journal_entry/operations/find.rb +0 -26
  74. data/lib/ledger_sync/ledgers/netsuite/journal_entry/operations/update.rb +0 -30
  75. data/lib/ledger_sync/ledgers/netsuite/journal_entry/serializer.rb +0 -36
  76. data/lib/ledger_sync/ledgers/netsuite/journal_entry_line_item/deserializer.rb +0 -20
  77. data/lib/ledger_sync/ledgers/netsuite/journal_entry_line_item/serializer.rb +0 -21
  78. data/lib/ledger_sync/ledgers/netsuite/ledger_class/deserializer.rb +0 -15
  79. data/lib/ledger_sync/ledgers/netsuite/ledger_class/operations/create.rb +0 -25
  80. data/lib/ledger_sync/ledgers/netsuite/ledger_class/operations/delete.rb +0 -25
  81. data/lib/ledger_sync/ledgers/netsuite/ledger_class/operations/find.rb +0 -25
  82. data/lib/ledger_sync/ledgers/netsuite/ledger_class/operations/update.rb +0 -25
  83. data/lib/ledger_sync/ledgers/netsuite/ledger_class/searcher.rb +0 -12
  84. data/lib/ledger_sync/ledgers/netsuite/ledger_class/searcher_deserializer.rb +0 -19
  85. data/lib/ledger_sync/ledgers/netsuite/ledger_class/serializer.rb +0 -13
  86. data/lib/ledger_sync/ledgers/netsuite/location/deserializer.rb +0 -15
  87. data/lib/ledger_sync/ledgers/netsuite/location/operations/create.rb +0 -21
  88. data/lib/ledger_sync/ledgers/netsuite/location/operations/delete.rb +0 -21
  89. data/lib/ledger_sync/ledgers/netsuite/location/operations/find.rb +0 -21
  90. data/lib/ledger_sync/ledgers/netsuite/location/operations/update.rb +0 -21
  91. data/lib/ledger_sync/ledgers/netsuite/location/searcher.rb +0 -12
  92. data/lib/ledger_sync/ledgers/netsuite/location/serializer.rb +0 -13
  93. data/lib/ledger_sync/ledgers/netsuite/operation.rb +0 -40
  94. data/lib/ledger_sync/ledgers/netsuite/operation/create.rb +0 -58
  95. data/lib/ledger_sync/ledgers/netsuite/operation/delete.rb +0 -49
  96. data/lib/ledger_sync/ledgers/netsuite/operation/find.rb +0 -60
  97. data/lib/ledger_sync/ledgers/netsuite/operation/update.rb +0 -61
  98. data/lib/ledger_sync/ledgers/netsuite/record/http_method.rb +0 -33
  99. data/lib/ledger_sync/ledgers/netsuite/record/metadata.rb +0 -109
  100. data/lib/ledger_sync/ledgers/netsuite/record/parameter.rb +0 -20
  101. data/lib/ledger_sync/ledgers/netsuite/record/property.rb +0 -22
  102. data/lib/ledger_sync/ledgers/netsuite/reference/serializer.rb +0 -13
  103. data/lib/ledger_sync/ledgers/netsuite/resource.rb +0 -10
  104. data/lib/ledger_sync/ledgers/netsuite/resources/account.rb +0 -43
  105. data/lib/ledger_sync/ledgers/netsuite/resources/check.rb +0 -23
  106. data/lib/ledger_sync/ledgers/netsuite/resources/check_line_item.rb +0 -15
  107. data/lib/ledger_sync/ledgers/netsuite/resources/currency.rb +0 -13
  108. data/lib/ledger_sync/ledgers/netsuite/resources/customer.rb +0 -19
  109. data/lib/ledger_sync/ledgers/netsuite/resources/customer_deposit.rb +0 -15
  110. data/lib/ledger_sync/ledgers/netsuite/resources/department.rb +0 -16
  111. data/lib/ledger_sync/ledgers/netsuite/resources/deposit.rb +0 -28
  112. data/lib/ledger_sync/ledgers/netsuite/resources/deposit_line_item.rb +0 -25
  113. data/lib/ledger_sync/ledgers/netsuite/resources/invoice.rb +0 -28
  114. data/lib/ledger_sync/ledgers/netsuite/resources/invoice_line_item.rb +0 -21
  115. data/lib/ledger_sync/ledgers/netsuite/resources/item.rb +0 -11
  116. data/lib/ledger_sync/ledgers/netsuite/resources/journal_entry.rb +0 -26
  117. data/lib/ledger_sync/ledgers/netsuite/resources/journal_entry_line_item.rb +0 -24
  118. data/lib/ledger_sync/ledgers/netsuite/resources/ledger_class.rb +0 -16
  119. data/lib/ledger_sync/ledgers/netsuite/resources/location.rb +0 -11
  120. data/lib/ledger_sync/ledgers/netsuite/resources/subsidiary.rb +0 -12
  121. data/lib/ledger_sync/ledgers/netsuite/resources/vendor.rb +0 -23
  122. data/lib/ledger_sync/ledgers/netsuite/searcher.rb +0 -66
  123. data/lib/ledger_sync/ledgers/netsuite/serializer.rb +0 -13
  124. data/lib/ledger_sync/ledgers/netsuite/subsidiary/deserializer.rb +0 -17
  125. data/lib/ledger_sync/ledgers/netsuite/subsidiary/searcher.rb +0 -12
  126. data/lib/ledger_sync/ledgers/netsuite/subsidiary/searcher_deserializer.rb +0 -15
  127. data/lib/ledger_sync/ledgers/netsuite/subsidiary/serializer.rb +0 -15
  128. data/lib/ledger_sync/ledgers/netsuite/token.rb +0 -158
  129. data/lib/ledger_sync/ledgers/netsuite/type/deserializer_active_type.rb +0 -32
  130. data/lib/ledger_sync/ledgers/netsuite/type/deserializer_customer_type.rb +0 -35
  131. data/lib/ledger_sync/ledgers/netsuite/type/deserializer_entity_type.rb +0 -30
  132. data/lib/ledger_sync/ledgers/netsuite/type/deserializer_subsidiary_type.rb +0 -35
  133. data/lib/ledger_sync/ledgers/netsuite/vendor/deserializer.rb +0 -30
  134. data/lib/ledger_sync/ledgers/netsuite/vendor/operations/create.rb +0 -27
  135. data/lib/ledger_sync/ledgers/netsuite/vendor/operations/delete.rb +0 -27
  136. data/lib/ledger_sync/ledgers/netsuite/vendor/operations/find.rb +0 -27
  137. data/lib/ledger_sync/ledgers/netsuite/vendor/operations/update.rb +0 -27
  138. data/lib/ledger_sync/ledgers/netsuite/vendor/searcher.rb +0 -12
  139. data/lib/ledger_sync/ledgers/netsuite/vendor/searcher_deserializer.rb +0 -21
  140. data/lib/ledger_sync/ledgers/netsuite/vendor/serializer.rb +0 -30
  141. data/lib/ledger_sync/ledgers/netsuite_soap/client.rb +0 -88
  142. data/lib/ledger_sync/ledgers/netsuite_soap/config.rb +0 -7
  143. data/lib/ledger_sync/ledgers/netsuite_soap/customer/operations/create.rb +0 -66
  144. data/lib/ledger_sync/ledgers/netsuite_soap/customer/operations/find.rb +0 -49
  145. data/lib/ledger_sync/ledgers/netsuite_soap/operation.rb +0 -40
  146. data/lib/ledger_sync/ledgers/netsuite_soap/operation/create.rb +0 -29
  147. data/lib/ledger_sync/ledgers/netsuite_soap/operation/find.rb +0 -15
  148. data/lib/ledger_sync/ledgers/netsuite_soap/resource.rb +0 -10
  149. data/lib/ledger_sync/ledgers/netsuite_soap/resources/customer.rb +0 -29
  150. data/lib/ledger_sync/ledgers/netsuite_soap/resources/subsidiary.rb +0 -12
  151. data/lib/ledger_sync/ledgers/netsuite_soap/subsidiary/operations/create.rb +0 -42
  152. data/lib/ledger_sync/ledgers/netsuite_soap/subsidiary/operations/find.rb +0 -38
  153. data/lib/ledger_sync/ledgers/quickbooks_online/account/deserializer.rb +0 -31
  154. data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/create.rb +0 -28
  155. data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/find.rb +0 -28
  156. data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/update.rb +0 -30
  157. data/lib/ledger_sync/ledgers/quickbooks_online/account/searcher.rb +0 -15
  158. data/lib/ledger_sync/ledgers/quickbooks_online/account/serializer.rb +0 -31
  159. data/lib/ledger_sync/ledgers/quickbooks_online/account_based_expense_line_detail/deserializer.rb +0 -21
  160. data/lib/ledger_sync/ledgers/quickbooks_online/account_based_expense_line_detail/serializer.rb +0 -21
  161. data/lib/ledger_sync/ledgers/quickbooks_online/bill/deserializer.rb +0 -41
  162. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/create.rb +0 -29
  163. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/find.rb +0 -29
  164. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/update.rb +0 -29
  165. data/lib/ledger_sync/ledgers/quickbooks_online/bill/searcher.rb +0 -14
  166. data/lib/ledger_sync/ledgers/quickbooks_online/bill/serializer.rb +0 -41
  167. data/lib/ledger_sync/ledgers/quickbooks_online/bill_line/deserializer.rb +0 -22
  168. data/lib/ledger_sync/ledgers/quickbooks_online/bill_line/serializer.rb +0 -26
  169. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/deserializer.rb +0 -55
  170. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/create.rb +0 -33
  171. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/find.rb +0 -33
  172. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/update.rb +0 -33
  173. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/serializer.rb +0 -55
  174. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment_line/deserializer.rb +0 -16
  175. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment_line/serializer.rb +0 -16
  176. data/lib/ledger_sync/ledgers/quickbooks_online/check_payment/deserializer.rb +0 -17
  177. data/lib/ledger_sync/ledgers/quickbooks_online/check_payment/serializer.rb +0 -17
  178. data/lib/ledger_sync/ledgers/quickbooks_online/client.rb +0 -237
  179. data/lib/ledger_sync/ledgers/quickbooks_online/config.rb +0 -10
  180. data/lib/ledger_sync/ledgers/quickbooks_online/credit_card_payment/deserializer.rb +0 -17
  181. data/lib/ledger_sync/ledgers/quickbooks_online/credit_card_payment/serializer.rb +0 -17
  182. data/lib/ledger_sync/ledgers/quickbooks_online/currency/deserializer.rb +0 -16
  183. data/lib/ledger_sync/ledgers/quickbooks_online/currency/serializer.rb +0 -17
  184. data/lib/ledger_sync/ledgers/quickbooks_online/customer/deserializer.rb +0 -26
  185. data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/create.rb +0 -26
  186. data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/find.rb +0 -26
  187. data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/update.rb +0 -26
  188. data/lib/ledger_sync/ledgers/quickbooks_online/customer/searcher.rb +0 -15
  189. data/lib/ledger_sync/ledgers/quickbooks_online/customer/serializer.rb +0 -26
  190. data/lib/ledger_sync/ledgers/quickbooks_online/dashboard_url_helper.rb +0 -34
  191. data/lib/ledger_sync/ledgers/quickbooks_online/department/deserializer.rb +0 -22
  192. data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/create.rb +0 -25
  193. data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/find.rb +0 -25
  194. data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/update.rb +0 -25
  195. data/lib/ledger_sync/ledgers/quickbooks_online/department/searcher.rb +0 -17
  196. data/lib/ledger_sync/ledgers/quickbooks_online/department/serializer.rb +0 -41
  197. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/deserializer.rb +0 -36
  198. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/create.rb +0 -27
  199. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/find.rb +0 -27
  200. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/update.rb +0 -27
  201. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/searcher.rb +0 -14
  202. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/serializer.rb +0 -36
  203. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line/deserializer.rb +0 -22
  204. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line/serializer.rb +0 -26
  205. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line_detail/deserializer.rb +0 -34
  206. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line_detail/serializer.rb +0 -35
  207. data/lib/ledger_sync/ledgers/quickbooks_online/deserializer.rb +0 -100
  208. data/lib/ledger_sync/ledgers/quickbooks_online/expense/deserializer.rb +0 -54
  209. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/create.rb +0 -30
  210. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/find.rb +0 -30
  211. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/update.rb +0 -30
  212. data/lib/ledger_sync/ledgers/quickbooks_online/expense/searcher.rb +0 -14
  213. data/lib/ledger_sync/ledgers/quickbooks_online/expense/serializer.rb +0 -53
  214. data/lib/ledger_sync/ledgers/quickbooks_online/expense_line/deserializer.rb +0 -22
  215. data/lib/ledger_sync/ledgers/quickbooks_online/expense_line/serializer.rb +0 -26
  216. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/deserializer.rb +0 -35
  217. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/create.rb +0 -27
  218. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/find.rb +0 -27
  219. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/update.rb +0 -27
  220. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/serializer.rb +0 -35
  221. data/lib/ledger_sync/ledgers/quickbooks_online/invoice_line/deserializer.rb +0 -21
  222. data/lib/ledger_sync/ledgers/quickbooks_online/invoice_line/serializer.rb +0 -25
  223. data/lib/ledger_sync/ledgers/quickbooks_online/item/deserializer.rb +0 -13
  224. data/lib/ledger_sync/ledgers/quickbooks_online/item/serializer.rb +0 -12
  225. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/deserializer.rb +0 -28
  226. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/create.rb +0 -25
  227. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/find.rb +0 -25
  228. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/update.rb +0 -25
  229. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/searcher.rb +0 -14
  230. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/serializer.rb +0 -28
  231. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line/deserializer.rb +0 -20
  232. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line/serializer.rb +0 -24
  233. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_detail/deserializer.rb +0 -29
  234. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_detail/serializer.rb +0 -29
  235. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/deserializer.rb +0 -24
  236. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/create.rb +0 -25
  237. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/find.rb +0 -25
  238. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/update.rb +0 -25
  239. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/searcher.rb +0 -15
  240. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/serializer.rb +0 -24
  241. data/lib/ledger_sync/ledgers/quickbooks_online/oauth_client.rb +0 -93
  242. data/lib/ledger_sync/ledgers/quickbooks_online/operation.rb +0 -61
  243. data/lib/ledger_sync/ledgers/quickbooks_online/operation/create.rb +0 -26
  244. data/lib/ledger_sync/ledgers/quickbooks_online/operation/find.rb +0 -25
  245. data/lib/ledger_sync/ledgers/quickbooks_online/operation/full_update.rb +0 -42
  246. data/lib/ledger_sync/ledgers/quickbooks_online/operation/sparse_update.rb +0 -29
  247. data/lib/ledger_sync/ledgers/quickbooks_online/payment/deserializer.rb +0 -42
  248. data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/create.rb +0 -30
  249. data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/find.rb +0 -30
  250. data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/update.rb +0 -30
  251. data/lib/ledger_sync/ledgers/quickbooks_online/payment/serializer.rb +0 -42
  252. data/lib/ledger_sync/ledgers/quickbooks_online/payment_line/deserializer.rb +0 -17
  253. data/lib/ledger_sync/ledgers/quickbooks_online/payment_line/serializer.rb +0 -17
  254. data/lib/ledger_sync/ledgers/quickbooks_online/preferences/deserializer.rb +0 -24
  255. data/lib/ledger_sync/ledgers/quickbooks_online/preferences/operations/find.rb +0 -30
  256. data/lib/ledger_sync/ledgers/quickbooks_online/preferences/serializer.rb +0 -24
  257. data/lib/ledger_sync/ledgers/quickbooks_online/primary_email_addr/deserializer.rb +0 -13
  258. data/lib/ledger_sync/ledgers/quickbooks_online/primary_email_addr/serializer.rb +0 -13
  259. data/lib/ledger_sync/ledgers/quickbooks_online/primary_phone/deserializer.rb +0 -13
  260. data/lib/ledger_sync/ledgers/quickbooks_online/primary_phone/serializer.rb +0 -13
  261. data/lib/ledger_sync/ledgers/quickbooks_online/reference/deserializer.rb +0 -13
  262. data/lib/ledger_sync/ledgers/quickbooks_online/reference/serializer.rb +0 -13
  263. data/lib/ledger_sync/ledgers/quickbooks_online/request.rb +0 -98
  264. data/lib/ledger_sync/ledgers/quickbooks_online/resource.rb +0 -10
  265. data/lib/ledger_sync/ledgers/quickbooks_online/resources/account.rb +0 -359
  266. data/lib/ledger_sync/ledgers/quickbooks_online/resources/account_based_expense_line_detail.rb +0 -16
  267. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill.rb +0 -31
  268. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_line.rb +0 -19
  269. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment.rb +0 -44
  270. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment_line.rb +0 -19
  271. data/lib/ledger_sync/ledgers/quickbooks_online/resources/check_payment.rb +0 -11
  272. data/lib/ledger_sync/ledgers/quickbooks_online/resources/credit_card_payment.rb +0 -11
  273. data/lib/ledger_sync/ledgers/quickbooks_online/resources/currency.rb +0 -17
  274. data/lib/ledger_sync/ledgers/quickbooks_online/resources/customer.rb +0 -24
  275. data/lib/ledger_sync/ledgers/quickbooks_online/resources/department.rb +0 -20
  276. data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit.rb +0 -28
  277. data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line.rb +0 -19
  278. data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line_detail.rb +0 -22
  279. data/lib/ledger_sync/ledgers/quickbooks_online/resources/expense.rb +0 -40
  280. data/lib/ledger_sync/ledgers/quickbooks_online/resources/expense_line.rb +0 -19
  281. data/lib/ledger_sync/ledgers/quickbooks_online/resources/invoice.rb +0 -28
  282. data/lib/ledger_sync/ledgers/quickbooks_online/resources/invoice_line.rb +0 -19
  283. data/lib/ledger_sync/ledgers/quickbooks_online/resources/item.rb +0 -11
  284. data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry.rb +0 -24
  285. data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line.rb +0 -20
  286. data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line_detail.rb +0 -27
  287. data/lib/ledger_sync/ledgers/quickbooks_online/resources/ledger_class.rb +0 -20
  288. data/lib/ledger_sync/ledgers/quickbooks_online/resources/payment.rb +0 -31
  289. data/lib/ledger_sync/ledgers/quickbooks_online/resources/payment_line.rb +0 -19
  290. data/lib/ledger_sync/ledgers/quickbooks_online/resources/preferences.rb +0 -24
  291. data/lib/ledger_sync/ledgers/quickbooks_online/resources/primary_email_addr.rb +0 -11
  292. data/lib/ledger_sync/ledgers/quickbooks_online/resources/primary_phone.rb +0 -11
  293. data/lib/ledger_sync/ledgers/quickbooks_online/resources/sales_item_line_detail.rb +0 -19
  294. data/lib/ledger_sync/ledgers/quickbooks_online/resources/transfer.rb +0 -24
  295. data/lib/ledger_sync/ledgers/quickbooks_online/resources/vendor.rb +0 -25
  296. data/lib/ledger_sync/ledgers/quickbooks_online/sales_item_line_detail/deserializer.rb +0 -21
  297. data/lib/ledger_sync/ledgers/quickbooks_online/sales_item_line_detail/serializer.rb +0 -21
  298. data/lib/ledger_sync/ledgers/quickbooks_online/searcher.rb +0 -60
  299. data/lib/ledger_sync/ledgers/quickbooks_online/serialization/type/amount_float_to_integer_type.rb +0 -21
  300. data/lib/ledger_sync/ledgers/quickbooks_online/serialization/type/deserialize_transaction_reference_type.rb +0 -30
  301. data/lib/ledger_sync/ledgers/quickbooks_online/serialization/type/integer_to_amount_float_type.rb +0 -21
  302. data/lib/ledger_sync/ledgers/quickbooks_online/serialization/type/serialize_transaction_reference_type.rb +0 -30
  303. data/lib/ledger_sync/ledgers/quickbooks_online/serializer.rb +0 -71
  304. data/lib/ledger_sync/ledgers/quickbooks_online/serialziation/type/mapping_type.rb +0 -27
  305. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/deserializer.rb +0 -31
  306. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/create.rb +0 -26
  307. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/find.rb +0 -26
  308. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/update.rb +0 -26
  309. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/serializer.rb +0 -31
  310. data/lib/ledger_sync/ledgers/quickbooks_online/util/error_matcher.rb +0 -70
  311. data/lib/ledger_sync/ledgers/quickbooks_online/util/error_parser.rb +0 -27
  312. data/lib/ledger_sync/ledgers/quickbooks_online/util/ledger_error_parser.rb +0 -103
  313. data/lib/ledger_sync/ledgers/quickbooks_online/util/operation_error_parser.rb +0 -99
  314. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/deserializer.rb +0 -27
  315. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/create.rb +0 -27
  316. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/find.rb +0 -27
  317. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/update.rb +0 -27
  318. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/searcher.rb +0 -15
  319. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/serializer.rb +0 -27
  320. data/lib/ledger_sync/ledgers/quickbooks_online/webhook.rb +0 -58
  321. data/lib/ledger_sync/ledgers/quickbooks_online/webhook_event.rb +0 -81
  322. data/lib/ledger_sync/ledgers/quickbooks_online/webhook_notification.rb +0 -43
  323. data/lib/ledger_sync/ledgers/stripe/client.rb +0 -41
  324. data/lib/ledger_sync/ledgers/stripe/config.rb +0 -5
  325. data/lib/ledger_sync/ledgers/stripe/customer/operations/create.rb +0 -44
  326. data/lib/ledger_sync/ledgers/stripe/customer/operations/delete.rb +0 -35
  327. data/lib/ledger_sync/ledgers/stripe/customer/operations/find.rb +0 -44
  328. data/lib/ledger_sync/ledgers/stripe/customer/operations/update.rb +0 -43
  329. data/lib/ledger_sync/ledgers/stripe/dashboard_url_helper.rb +0 -21
  330. data/lib/ledger_sync/ledgers/stripe/operation.rb +0 -35
  331. data/lib/ledger_sync/ledgers/stripe/operation/create.rb +0 -15
  332. data/lib/ledger_sync/ledgers/stripe/operation/delete.rb +0 -15
  333. data/lib/ledger_sync/ledgers/stripe/operation/find.rb +0 -15
  334. data/lib/ledger_sync/ledgers/stripe/operation/update.rb +0 -15
  335. data/lib/ledger_sync/ledgers/stripe/resource.rb +0 -10
  336. data/lib/ledger_sync/ledgers/stripe/resources/customer.rb +0 -13
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module LedgerSync
4
- module Ledgers
5
- module QuickBooksOnline
6
- class BillPayment
7
- module Operations
8
- class Update < Operation::FullUpdate
9
- class Contract < LedgerSync::Ledgers::Contract
10
- schema do
11
- required(:external_id).maybe(:string)
12
- optional(:APAccount).hash(Types::Reference)
13
- required(:TotalAmt).filled(:integer)
14
- optional(:CheckPayment).maybe(Types::Reference)
15
- optional(:CreditCardPayment).maybe(Types::Reference)
16
- required(:Currency).filled(:hash, Types::Reference)
17
- required(:Department).hash(Types::Reference)
18
- optional(:ExchangeRate).maybe(:float)
19
- required(:ledger_id).filled(:string)
20
- required(:Line).array(Types::Reference)
21
- optional(:PrivateNote).filled(:string)
22
- required(:PayType).filled(:string)
23
- optional(:DocNumber).maybe(:string)
24
- optional(:TxnDate).filled(:date?)
25
- required(:Vendor).hash(Types::Reference)
26
- end
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../reference/serializer'
4
- require_relative '../bill_payment_line/serializer'
5
- require_relative '../credit_card_payment/serializer'
6
- require_relative '../check_payment/serializer'
7
-
8
- module LedgerSync
9
- module Ledgers
10
- module QuickBooksOnline
11
- class BillPayment
12
- class Serializer < QuickBooksOnline::Serializer
13
- id
14
-
15
- amount :TotalAmt
16
- attribute :DocNumber
17
- attribute :PrivateNote
18
- attribute :ExchangeRate
19
- date :TxnDate
20
-
21
- mapping :PayType,
22
- hash: BillPayment::PAYMENT_TYPES
23
-
24
- references_one 'CurrencyRef',
25
- resource_attribute: :Currency,
26
- serializer: Reference::Serializer
27
-
28
- references_one 'VendorRef',
29
- resource_attribute: :Vendor,
30
- serializer: Reference::Serializer
31
-
32
- references_one 'DepartmentRef',
33
- resource_attribute: :Department,
34
- serializer: Reference::Serializer
35
-
36
- references_one 'APAccountRef',
37
- resource_attribute: :APAccount,
38
- serializer: Reference::Serializer
39
-
40
- references_one 'CreditCardPayment',
41
- resource_attribute: :CreditCardPayment,
42
- serializer: CreditCardPayment::Serializer
43
-
44
- references_one 'CheckPayment',
45
- resource_attribute: :CheckPayment,
46
- serializer: CheckPayment::Serializer
47
-
48
- references_many 'Line',
49
- resource_attribute: :Line,
50
- serializer: BillPaymentLine::Serializer
51
- end
52
- end
53
- end
54
- end
55
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module LedgerSync
4
- module Ledgers
5
- module QuickBooksOnline
6
- class BillPaymentLine
7
- class Deserializer < QuickBooksOnline::Deserializer
8
- amount :Amount
9
-
10
- attribute :LinkedTxn,
11
- type: Serialization::Type::DeserializeTransactionReferenceType.new
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module LedgerSync
4
- module Ledgers
5
- module QuickBooksOnline
6
- class BillPaymentLine
7
- class Serializer < QuickBooksOnline::Serializer
8
- amount :Amount
9
-
10
- attribute :LinkedTxn,
11
- type: Serialization::Type::SerializeTransactionReferenceType.new
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../reference/deserializer'
4
-
5
- module LedgerSync
6
- module Ledgers
7
- module QuickBooksOnline
8
- class CheckPayment
9
- class Deserializer < QuickBooksOnline::Deserializer
10
- references_one :BankAccount,
11
- hash_attribute: 'BankAccountRef',
12
- deserializer: Reference::Deserializer
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../reference/serializer'
4
-
5
- module LedgerSync
6
- module Ledgers
7
- module QuickBooksOnline
8
- class CheckPayment
9
- class Serializer < QuickBooksOnline::Serializer
10
- references_one 'BankAccountRef',
11
- resource_attribute: :BankAccount,
12
- serializer: Reference::Serializer
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,237 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'oauth_client'
4
- require_relative 'dashboard_url_helper'
5
-
6
- module LedgerSync
7
- module Ledgers
8
- module QuickBooksOnline
9
- class Client
10
- include Ledgers::Client::Mixin
11
-
12
- OAUTH_HEADERS = { 'Accept' => 'application/json', 'Content-Type' => 'application/json' }.freeze
13
- ROOT_URI = 'https://quickbooks.api.intuit.com'
14
- REVOKE_TOKEN_URI = 'https://developer.api.intuit.com/v2/oauth2/tokens/revoke'
15
- ROOT_SANDBOX_URI = 'https://sandbox-quickbooks.api.intuit.com'
16
- PRODUCTION_APP_URL_BASE = 'https://qbo.intuit.com/app'
17
- SANDBOX_APP_URL_BASE = 'https://app.sandbox.qbo.intuit.com/app'
18
-
19
- attr_reader :access_token,
20
- :client_id,
21
- :client_secret,
22
- :expires_at,
23
- :previous_access_tokens,
24
- :previous_refresh_tokens,
25
- :realm_id,
26
- :refresh_token,
27
- :refresh_token_expires_at,
28
- :root_uri,
29
- :test,
30
- :update_dotenv
31
-
32
- def initialize(
33
- access_token:,
34
- client_id:,
35
- client_secret:,
36
- realm_id:,
37
- refresh_token:,
38
- test: false,
39
- update_dotenv: true
40
- )
41
- @access_token = access_token
42
- @client_id = client_id
43
- @client_secret = client_secret
44
- @realm_id = realm_id
45
- @refresh_token = refresh_token
46
- @test = test
47
- @update_dotenv = update_dotenv
48
-
49
- @previous_access_tokens = []
50
- @previous_refresh_tokens = []
51
-
52
- @root_uri = (test ? ROOT_SANDBOX_URI : ROOT_URI)
53
-
54
- update_secrets_in_dotenv if update_dotenv
55
-
56
- super()
57
- end
58
-
59
- def authorization_url(redirect_uri:)
60
- oauth_client.authorization_url(redirect_uri: redirect_uri)
61
- end
62
-
63
- def find(path:)
64
- url = "#{oauth_base_uri}/#{path}"
65
-
66
- request(
67
- headers: OAUTH_HEADERS.dup,
68
- method: :get,
69
- url: url
70
- )
71
- end
72
-
73
- def oauth
74
- OAuth2::AccessToken.new(
75
- oauth_client.client,
76
- access_token,
77
- refresh_token: refresh_token
78
- )
79
- end
80
-
81
- def oauth_client
82
- @oauth_client ||= OAuthClient.new(
83
- client_id: client_id,
84
- client_secret: client_secret
85
- )
86
- end
87
-
88
- def post(path:, payload:)
89
- url = "#{oauth_base_uri}/#{path}"
90
-
91
- request(
92
- headers: OAUTH_HEADERS.dup,
93
- method: :post,
94
- body: payload,
95
- url: url
96
- )
97
- end
98
-
99
- def query(query:, resource_class:, limit: 10, offset: 1)
100
- ledger_resource_type = self.class.ledger_resource_type_for(
101
- resource_class: resource_class
102
- ).classify
103
- full_query = "SELECT * FROM #{ledger_resource_type} WHERE #{query} STARTPOSITION #{offset} MAXRESULTS "\
104
- "#{limit}"
105
- url = "#{oauth_base_uri}/query?query=#{CGI.escape(full_query)}"
106
-
107
- request(
108
- headers: OAUTH_HEADERS.dup,
109
- method: :get,
110
- url: url
111
- )
112
- end
113
-
114
- def refresh!
115
- set_credentials_from_oauth_token(
116
- token: Request.new(
117
- client: self
118
- ).refresh!
119
- )
120
- self
121
- end
122
-
123
- def revoke_token!
124
- headers = OAUTH_HEADERS.dup.merge(
125
- 'Authorization' => "Basic #{Base64.strict_encode64("#{client_id}:#{client_secret}")}"
126
- )
127
- LedgerSync::Ledgers::Request.new(
128
- body: {
129
- token: access_token
130
- },
131
- headers: headers,
132
- method: :post,
133
- url: REVOKE_TOKEN_URI
134
- ).perform.status == 200
135
- end
136
-
137
- def set_credentials_from_oauth_code(code:, redirect_uri:, realm_id: nil)
138
- oauth_token = oauth_client.get_token(
139
- code: code,
140
- redirect_uri: redirect_uri
141
- )
142
-
143
- set_credentials_from_oauth_token(
144
- realm_id: realm_id,
145
- token: oauth_token
146
- )
147
-
148
- oauth_token
149
- end
150
-
151
- def url_for(resource:)
152
- DashboardURLHelper.new(
153
- resource: resource,
154
- base_url: (test ? SANDBOX_APP_URL_BASE : PRODUCTION_APP_URL_BASE)
155
- ).url
156
- end
157
-
158
- def self.ledger_attributes_to_save
159
- %i[access_token expires_at refresh_token refresh_token_expires_at]
160
- end
161
-
162
- def self.ledger_resource_type_overrides
163
- {
164
- Expense => 'purchase',
165
- LedgerClass => 'class',
166
- Preferences => 'preferences'
167
- }
168
- end
169
-
170
- def self.new_from_env(**override)
171
- new(
172
- {
173
- access_token: ENV.fetch('QUICKBOOKS_ONLINE_ACCESS_TOKEN'),
174
- client_id: ENV.fetch('QUICKBOOKS_ONLINE_CLIENT_ID'),
175
- client_secret: ENV.fetch('QUICKBOOKS_ONLINE_CLIENT_SECRET'),
176
- realm_id: ENV.fetch('QUICKBOOKS_ONLINE_REALM_ID'),
177
- refresh_token: ENV.fetch('QUICKBOOKS_ONLINE_REFRESH_TOKEN')
178
- }.merge(override)
179
- )
180
- end
181
-
182
- def self.new_from_oauth_client_uri(oauth_client:, uri:, **override)
183
- parsed_uri = OAuthClient::RedirectURIParser.new(uri: uri)
184
- oauth_token = oauth_client.get_token(
185
- code: parsed_uri.code,
186
- redirect_uri: parsed_uri.redirect_uri
187
- )
188
-
189
- new(
190
- {
191
- access_token: oauth_token.token,
192
- client_id: oauth_client.client_id,
193
- client_secret: oauth_client.client_secret,
194
- realm_id: parsed_uri.realm_id,
195
- refresh_token: oauth_token.refresh_token
196
- }.merge(override)
197
- )
198
- end
199
-
200
- private
201
-
202
- def oauth_base_uri
203
- @oauth_base_uri ||= "#{root_uri}/v3/company/#{realm_id}"
204
- end
205
-
206
- def request(method:, url:, body: nil, headers: {})
207
- Request.new(
208
- client: self,
209
- body: body,
210
- headers: headers,
211
- method: method,
212
- url: url
213
- ).perform
214
- end
215
-
216
- def set_credentials_from_oauth_token(token:, realm_id: nil) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
217
- @previous_access_tokens << access_token if access_token.present?
218
- @access_token = token.token
219
-
220
- @expires_at = Time&.at(token.expires_at.to_i)&.to_datetime
221
- unless token.params['x_refresh_token_expires_in'].nil?
222
- @refresh_token_expires_at = Time&.at(
223
- Time.now.to_i + token.params['x_refresh_token_expires_in']
224
- )&.to_datetime
225
- end
226
-
227
- @previous_refresh_tokens << refresh_token if refresh_token.present?
228
- @refresh_token = token.refresh_token
229
-
230
- @realm_id = realm_id unless realm_id.nil?
231
- ensure
232
- update_secrets_in_dotenv if update_dotenv
233
- end
234
- end
235
- end
236
- end
237
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'client'
4
-
5
- LedgerSync.register_ledger(:quickbooks_online, base_module: LedgerSync::Ledgers::QuickBooksOnline) do |config|
6
- config.name = 'QuickBooks Online'
7
- config.add_alias :qbo
8
- config.add_alias :quick_books_online
9
- config.rate_limiting_wait_in_seconds = 60
10
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../reference/deserializer'
4
-
5
- module LedgerSync
6
- module Ledgers
7
- module QuickBooksOnline
8
- class CreditCardPayment
9
- class Deserializer < QuickBooksOnline::Deserializer
10
- references_one :CCAccount,
11
- hash_attribute: 'CCAccountRef',
12
- deserializer: Reference::Deserializer
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative '../reference/serializer'
4
-
5
- module LedgerSync
6
- module Ledgers
7
- module QuickBooksOnline
8
- class CreditCardPayment
9
- class Serializer < QuickBooksOnline::Serializer
10
- references_one 'CCAccountRef',
11
- resource_attribute: :CCAccount,
12
- serializer: Reference::Serializer
13
- end
14
- end
15
- end
16
- end
17
- end