ledger_sync 1.4.4 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +64 -1
  3. data/.travis.yml +12 -5
  4. data/Gemfile.lock +67 -65
  5. data/bin/quickbooks_online_oauth_server.rb +1 -1
  6. data/documentation/generators/reference/ledger/generator.rb +2 -0
  7. data/documentation/site/guides/contribute/deployment.md +62 -7
  8. data/documentation/site/guides/contribute/index.md +5 -1
  9. data/ledger_sync.gemspec +13 -11
  10. data/lib/ledger_sync.rb +17 -12
  11. data/lib/ledger_sync/deserializer.rb +2 -2
  12. data/lib/ledger_sync/error.rb +2 -2
  13. data/lib/ledger_sync/error/ledger_errors.rb +1 -2
  14. data/lib/ledger_sync/error/operation_errors.rb +2 -2
  15. data/lib/ledger_sync/error/resource_errors.rb +1 -1
  16. data/lib/ledger_sync/ledger_configuration.rb +16 -12
  17. data/lib/ledger_sync/ledger_configuration_store.rb +16 -7
  18. data/lib/ledger_sync/ledgers/client.rb +123 -108
  19. data/lib/ledger_sync/ledgers/mixins/infer_config_mixin.rb +37 -0
  20. data/lib/ledger_sync/ledgers/mixins/infer_resource_class_mixin.rb +5 -4
  21. data/lib/ledger_sync/ledgers/mixins/infer_serializer_mixin.rb +5 -5
  22. data/lib/ledger_sync/ledgers/mixins/serialization_mixin.rb +2 -2
  23. data/lib/ledger_sync/ledgers/netsuite/check_line_item/deserializer.rb +2 -1
  24. data/lib/ledger_sync/ledgers/netsuite/check_line_item/serializer.rb +2 -1
  25. data/lib/ledger_sync/ledgers/netsuite/client.rb +5 -1
  26. data/lib/ledger_sync/ledgers/netsuite/config.rb +3 -1
  27. data/lib/ledger_sync/ledgers/netsuite/deserializer.rb +1 -1
  28. data/lib/ledger_sync/ledgers/netsuite/type/deserializer_customer_type.rb +2 -0
  29. data/lib/ledger_sync/ledgers/netsuite/type/deserializer_subsidiary_type.rb +2 -0
  30. data/lib/ledger_sync/ledgers/netsuite_soap/client.rb +3 -1
  31. data/lib/ledger_sync/ledgers/netsuite_soap/config.rb +3 -1
  32. data/lib/ledger_sync/ledgers/operation.rb +12 -10
  33. data/lib/ledger_sync/ledgers/quickbooks_online/account/deserializer.rb +10 -22
  34. data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/create.rb +8 -8
  35. data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/find.rb +8 -8
  36. data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/update.rb +8 -8
  37. data/lib/ledger_sync/ledgers/quickbooks_online/account/serializer.rb +11 -17
  38. data/lib/ledger_sync/ledgers/quickbooks_online/account_based_expense_line_detail/deserializer.rb +21 -0
  39. data/lib/ledger_sync/ledgers/quickbooks_online/account_based_expense_line_detail/serializer.rb +21 -0
  40. data/lib/ledger_sync/ledgers/quickbooks_online/bill/deserializer.rb +20 -24
  41. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/create.rb +9 -9
  42. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/find.rb +9 -9
  43. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/update.rb +9 -9
  44. data/lib/ledger_sync/ledgers/quickbooks_online/bill/serializer.rb +20 -23
  45. data/lib/ledger_sync/ledgers/quickbooks_online/bill_line/deserializer.rb +22 -0
  46. data/lib/ledger_sync/ledgers/quickbooks_online/bill_line/serializer.rb +26 -0
  47. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/deserializer.rb +31 -35
  48. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/create.rb +13 -13
  49. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/find.rb +13 -13
  50. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/update.rb +13 -13
  51. data/lib/ledger_sync/ledgers/quickbooks_online/bill_payment/serializer.rb +31 -53
  52. data/lib/ledger_sync/ledgers/quickbooks_online/{bill_payment_line_item → bill_payment_line}/deserializer.rb +3 -5
  53. data/lib/ledger_sync/ledgers/quickbooks_online/{bill_payment_line_item → bill_payment_line}/serializer.rb +3 -5
  54. data/lib/ledger_sync/ledgers/quickbooks_online/check_payment/deserializer.rb +17 -0
  55. data/lib/ledger_sync/ledgers/quickbooks_online/check_payment/serializer.rb +17 -0
  56. data/lib/ledger_sync/ledgers/quickbooks_online/client.rb +10 -6
  57. data/lib/ledger_sync/ledgers/quickbooks_online/config.rb +3 -1
  58. data/lib/ledger_sync/ledgers/quickbooks_online/credit_card_payment/deserializer.rb +17 -0
  59. data/lib/ledger_sync/ledgers/quickbooks_online/credit_card_payment/serializer.rb +17 -0
  60. data/lib/ledger_sync/ledgers/quickbooks_online/currency/deserializer.rb +2 -3
  61. data/lib/ledger_sync/ledgers/quickbooks_online/currency/serializer.rb +3 -2
  62. data/lib/ledger_sync/ledgers/quickbooks_online/customer/deserializer.rb +10 -3
  63. data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/create.rb +4 -4
  64. data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/find.rb +5 -5
  65. data/lib/ledger_sync/ledgers/quickbooks_online/customer/operations/update.rb +4 -4
  66. data/lib/ledger_sync/ledgers/quickbooks_online/customer/serializer.rb +10 -3
  67. data/lib/ledger_sync/ledgers/quickbooks_online/department/deserializer.rb +7 -13
  68. data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/create.rb +5 -5
  69. data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/find.rb +5 -5
  70. data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/update.rb +5 -5
  71. data/lib/ledger_sync/ledgers/quickbooks_online/department/serializer.rb +9 -17
  72. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/deserializer.rb +16 -19
  73. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/create.rb +7 -7
  74. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/find.rb +7 -7
  75. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/update.rb +7 -7
  76. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/serializer.rb +16 -19
  77. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line/deserializer.rb +22 -0
  78. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line/serializer.rb +26 -0
  79. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line_detail/deserializer.rb +34 -0
  80. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line_detail/serializer.rb +35 -0
  81. data/lib/ledger_sync/ledgers/quickbooks_online/deserializer.rb +4 -4
  82. data/lib/ledger_sync/ledgers/quickbooks_online/expense/deserializer.rb +20 -25
  83. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/create.rb +10 -10
  84. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/find.rb +10 -10
  85. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/update.rb +10 -10
  86. data/lib/ledger_sync/ledgers/quickbooks_online/expense/serializer.rb +22 -28
  87. data/lib/ledger_sync/ledgers/quickbooks_online/expense_line/deserializer.rb +22 -0
  88. data/lib/ledger_sync/ledgers/quickbooks_online/expense_line/serializer.rb +26 -0
  89. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/deserializer.rb +15 -15
  90. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/create.rb +7 -7
  91. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/find.rb +7 -7
  92. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/update.rb +7 -7
  93. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/serializer.rb +15 -15
  94. data/lib/ledger_sync/ledgers/quickbooks_online/invoice_line/deserializer.rb +21 -0
  95. data/lib/ledger_sync/ledgers/quickbooks_online/invoice_line/serializer.rb +25 -0
  96. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/deserializer.rb +10 -15
  97. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/create.rb +5 -5
  98. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/find.rb +5 -5
  99. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/update.rb +5 -5
  100. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/serializer.rb +10 -15
  101. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line/deserializer.rb +20 -0
  102. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line/serializer.rb +24 -0
  103. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_detail/deserializer.rb +29 -0
  104. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_detail/serializer.rb +29 -0
  105. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/deserializer.rb +9 -13
  106. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/create.rb +5 -5
  107. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/find.rb +5 -5
  108. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/update.rb +5 -5
  109. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/serializer.rb +10 -10
  110. data/lib/ledger_sync/ledgers/quickbooks_online/operation.rb +1 -3
  111. data/lib/ledger_sync/ledgers/quickbooks_online/operation/full_update.rb +1 -3
  112. data/lib/ledger_sync/ledgers/quickbooks_online/payment/deserializer.rb +21 -27
  113. data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/create.rb +10 -10
  114. data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/find.rb +10 -10
  115. data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/update.rb +10 -10
  116. data/lib/ledger_sync/ledgers/quickbooks_online/payment/serializer.rb +21 -27
  117. data/lib/ledger_sync/ledgers/quickbooks_online/{payment_line_item → payment_line}/deserializer.rb +3 -4
  118. data/lib/ledger_sync/ledgers/quickbooks_online/{payment_line_item → payment_line}/serializer.rb +3 -4
  119. data/lib/ledger_sync/ledgers/quickbooks_online/preferences/deserializer.rb +10 -29
  120. data/lib/ledger_sync/ledgers/quickbooks_online/preferences/operations/find.rb +10 -10
  121. data/lib/ledger_sync/ledgers/quickbooks_online/preferences/serializer.rb +10 -29
  122. data/lib/ledger_sync/ledgers/quickbooks_online/primary_email_addr/deserializer.rb +13 -0
  123. data/lib/ledger_sync/ledgers/quickbooks_online/primary_email_addr/serializer.rb +13 -0
  124. data/lib/ledger_sync/ledgers/quickbooks_online/primary_phone/deserializer.rb +13 -0
  125. data/lib/ledger_sync/ledgers/quickbooks_online/primary_phone/serializer.rb +13 -0
  126. data/lib/ledger_sync/ledgers/quickbooks_online/reference/deserializer.rb +13 -0
  127. data/lib/ledger_sync/ledgers/quickbooks_online/reference/serializer.rb +13 -0
  128. data/lib/ledger_sync/ledgers/quickbooks_online/resources/account.rb +12 -8
  129. data/lib/ledger_sync/ledgers/quickbooks_online/resources/account_based_expense_line_detail.rb +16 -0
  130. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill.rb +11 -11
  131. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_line.rb +19 -0
  132. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment.rb +17 -15
  133. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment_line.rb +19 -0
  134. data/lib/ledger_sync/ledgers/quickbooks_online/resources/check_payment.rb +11 -0
  135. data/lib/ledger_sync/ledgers/quickbooks_online/resources/credit_card_payment.rb +11 -0
  136. data/lib/ledger_sync/ledgers/quickbooks_online/resources/currency.rb +7 -3
  137. data/lib/ledger_sync/ledgers/quickbooks_online/resources/customer.rb +4 -3
  138. data/lib/ledger_sync/ledgers/quickbooks_online/resources/department.rb +9 -5
  139. data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit.rb +9 -9
  140. data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line.rb +19 -0
  141. data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line_detail.rb +22 -0
  142. data/lib/ledger_sync/ledgers/quickbooks_online/resources/expense.rb +12 -12
  143. data/lib/ledger_sync/ledgers/quickbooks_online/resources/expense_line.rb +19 -0
  144. data/lib/ledger_sync/ledgers/quickbooks_online/resources/invoice.rb +8 -8
  145. data/lib/ledger_sync/ledgers/quickbooks_online/resources/invoice_line.rb +19 -0
  146. data/lib/ledger_sync/ledgers/quickbooks_online/resources/item.rb +1 -1
  147. data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry.rb +7 -7
  148. data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line.rb +20 -0
  149. data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line_detail.rb +27 -0
  150. data/lib/ledger_sync/ledgers/quickbooks_online/resources/ledger_class.rb +9 -5
  151. data/lib/ledger_sync/ledgers/quickbooks_online/resources/payment.rb +11 -11
  152. data/lib/ledger_sync/ledgers/quickbooks_online/resources/{payment_line_item.rb → payment_line.rb} +4 -4
  153. data/lib/ledger_sync/ledgers/quickbooks_online/resources/preferences.rb +10 -10
  154. data/lib/ledger_sync/ledgers/quickbooks_online/resources/sales_item_line_detail.rb +19 -0
  155. data/lib/ledger_sync/ledgers/quickbooks_online/resources/transfer.rb +7 -7
  156. data/lib/ledger_sync/ledgers/quickbooks_online/resources/vendor.rb +11 -9
  157. data/lib/ledger_sync/ledgers/quickbooks_online/sales_item_line_detail/deserializer.rb +21 -0
  158. data/lib/ledger_sync/ledgers/quickbooks_online/sales_item_line_detail/serializer.rb +21 -0
  159. data/lib/ledger_sync/ledgers/quickbooks_online/serialziation/type/mapping_type.rb +2 -0
  160. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/deserializer.rb +13 -16
  161. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/create.rb +6 -6
  162. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/find.rb +6 -6
  163. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/update.rb +6 -6
  164. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/serializer.rb +13 -16
  165. data/lib/ledger_sync/ledgers/quickbooks_online/util/error_matcher.rb +23 -10
  166. data/lib/ledger_sync/ledgers/quickbooks_online/util/operation_error_parser.rb +1 -1
  167. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/deserializer.rb +12 -10
  168. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/create.rb +7 -7
  169. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/find.rb +7 -7
  170. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/operations/update.rb +7 -7
  171. data/lib/ledger_sync/ledgers/quickbooks_online/vendor/serializer.rb +12 -10
  172. data/lib/ledger_sync/ledgers/quickbooks_online/webhook.rb +1 -1
  173. data/lib/ledger_sync/ledgers/quickbooks_online/webhook_event.rb +6 -6
  174. data/lib/ledger_sync/ledgers/quickbooks_online/webhook_notification.rb +1 -1
  175. data/lib/ledger_sync/ledgers/response.rb +1 -1
  176. data/lib/ledger_sync/ledgers/stripe/client.rb +5 -1
  177. data/lib/ledger_sync/resource.rb +5 -3
  178. data/lib/ledger_sync/resource_adaptor.rb +2 -0
  179. data/lib/ledger_sync/resource_attribute/reference/one.rb +2 -2
  180. data/lib/ledger_sync/resource_attribute_set.rb +4 -3
  181. data/lib/ledger_sync/serialization/type/deserializer_type.rb +2 -0
  182. data/lib/ledger_sync/serialization/type/format_date_type.rb +2 -0
  183. data/lib/ledger_sync/serialization/type/mapping_type.rb +2 -0
  184. data/lib/ledger_sync/serialization/type/parse_date_type.rb +2 -0
  185. data/lib/ledger_sync/serialization/type/serializer_type.rb +2 -0
  186. data/lib/ledger_sync/serializer.rb +2 -2
  187. data/lib/ledger_sync/test/support.rb +71 -0
  188. data/lib/ledger_sync/test/support/factory_bot.rb +157 -0
  189. data/lib/ledger_sync/type/date.rb +10 -0
  190. data/lib/ledger_sync/type/value_mixin.rb +3 -1
  191. data/lib/ledger_sync/util/resource_converter/attribute.rb +1 -1
  192. data/lib/ledger_sync/util/resource_converter/type/resource_converter_type.rb +2 -0
  193. data/lib/ledger_sync/util/signer.rb +2 -2
  194. data/lib/ledger_sync/version.rb +9 -1
  195. metadata +89 -65
  196. data/lib/ledger_sync/ledgers/mixins/infer_client_mixin.rb +0 -28
  197. data/lib/ledger_sync/ledgers/quickbooks_online/bill_line_item/deserializer.rb +0 -25
  198. data/lib/ledger_sync/ledgers/quickbooks_online/bill_line_item/serializer.rb +0 -29
  199. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line_item/deserializer.rb +0 -38
  200. data/lib/ledger_sync/ledgers/quickbooks_online/deposit_line_item/serializer.rb +0 -41
  201. data/lib/ledger_sync/ledgers/quickbooks_online/expense_line_item/deserializer.rb +0 -25
  202. data/lib/ledger_sync/ledgers/quickbooks_online/expense_line_item/serializer.rb +0 -27
  203. data/lib/ledger_sync/ledgers/quickbooks_online/invoice_sales_line_item/deserializer.rb +0 -25
  204. data/lib/ledger_sync/ledgers/quickbooks_online/invoice_sales_line_item/serializer.rb +0 -29
  205. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/deserializer.rb +0 -32
  206. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/serializer.rb +0 -36
  207. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_line_item.rb +0 -21
  208. data/lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment_line_item.rb +0 -19
  209. data/lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line_item.rb +0 -25
  210. data/lib/ledger_sync/ledgers/quickbooks_online/resources/expense_line_item.rb +0 -21
  211. data/lib/ledger_sync/ledgers/quickbooks_online/resources/invoice_sales_line_item.rb +0 -21
  212. data/lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line_item.rb +0 -29
  213. data/lib/ledger_sync/ledgers/quickbooks_online/resources/subsidiary.rb +0 -12
  214. data/release.sh +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd6a2c51848e4e1e51a7c0870956a23b7e6d81c6eff754554340fd48d350a6a9
4
- data.tar.gz: d632009d62b0f7cfa59edceee5d9e2df57caa27a437197dc324e978dfc71d44c
3
+ metadata.gz: 19414532e2c552b3e17efa9e8dc0315740809c7bbe74124af62f55dbd4bad2d0
4
+ data.tar.gz: a8cf13be61f9ce6a738f4bf0d54774da3b676714a6e982394036fd924503a3e0
5
5
  SHA512:
6
- metadata.gz: 8b09d33912d3bd337a3d84cf05093193dc1a80b1bdc3137f903131d386bb5a38355da76856b72cb55cfa2cdd190ef98c88ba87aeb62b5851beae05bc7aeb1fb9
7
- data.tar.gz: bdc088c4b18661ee9ead64d5877c1e4104a1d9a6f1d39aec8e7d24cfd45f35ca00c3953783f2bfec22f62a7d56cc6cebf8a9e50f09596c272274b61e149cecf1
6
+ metadata.gz: 97a8377503769687b0f4b765ece61bb4fe9b4689adf493e8d41fe3d77fd58f90f53a0c51f6412d3f69221e697ae6c6633a4bb6edd54013cae86022a0c7b683b0
7
+ data.tar.gz: 7a6dfcde809c765cee2faad8f063c321f1baa064ff47cb98e5187042631fa13624b91e7954b729e4ded47ccaabef742b95579dcd5e66e9ef200df7a02fbc817e
@@ -1,7 +1,10 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
3
  AllCops:
4
- TargetRubyVersion: 2.6
4
+ Exclude:
5
+ - "documentation/site/_plugins/**/*"
6
+ TargetRubyVersion: 2.5.8
7
+ NewCops: enable
5
8
 
6
9
  Layout/LineLength:
7
10
  Enabled: True
@@ -15,3 +18,63 @@ Style/HashTransformKeys:
15
18
 
16
19
  Style/HashTransformValues:
17
20
  Enabled: True
21
+
22
+ Layout/EmptyLinesAroundAttributeAccessor:
23
+ Enabled: True
24
+
25
+ Layout/SpaceAroundMethodCallOperator:
26
+ Enabled: True
27
+
28
+ Lint/DeprecatedOpenSSLConstant:
29
+ Enabled: True
30
+
31
+ Lint/DuplicateElsifCondition:
32
+ Enabled: True
33
+
34
+ Lint/MixedRegexpCaptureTypes:
35
+ Enabled: True
36
+
37
+ Lint/RaiseException:
38
+ Enabled: True
39
+
40
+ Lint/StructNewOverride:
41
+ Enabled: True
42
+
43
+ Style/AccessorGrouping:
44
+ Enabled: True
45
+
46
+ Style/ArrayCoercion:
47
+ Enabled: True
48
+
49
+ Style/BisectedAttrAccessor:
50
+ Enabled: True
51
+
52
+ Style/CaseLikeIf:
53
+ Enabled: True
54
+
55
+ Style/ExponentialNotation:
56
+ Enabled: True
57
+
58
+ Style/HashAsLastArrayItem:
59
+ Enabled: True
60
+
61
+ Style/HashLikeCase:
62
+ Enabled: True
63
+
64
+ Style/RedundantAssignment:
65
+ Enabled: True
66
+
67
+ Style/RedundantFetchBlock:
68
+ Enabled: True
69
+
70
+ Style/RedundantFileExtensionInRequire:
71
+ Enabled: True
72
+
73
+ Style/RedundantRegexpCharacterClass:
74
+ Enabled: True
75
+
76
+ Style/RedundantRegexpEscape:
77
+ Enabled: True
78
+
79
+ Style/SlicingWithRange:
80
+ Enabled: False
@@ -1,4 +1,3 @@
1
- ---
2
1
  language: ruby
3
2
  cache: bundler
4
3
  rvm:
@@ -9,11 +8,19 @@ rvm:
9
8
  - ruby-head
10
9
  before_install:
11
10
  - gem update --system
12
- - gem install bundler:1.17.3
13
- - gem install overcommit
11
+ - gem install bundler
12
+ - rm Gemfile.lock
13
+ - bundle install
14
14
  script:
15
15
  - bundle exec rspec --order rand
16
- - overcommit --sign && overcommit --run
16
+ - bundle exec overcommit --sign && bundle exec overcommit --run
17
17
  jobs:
18
18
  allow_failures:
19
- - rvm: ruby-head
19
+ - rvm: ruby-head
20
+ deploy:
21
+ - api_key:
22
+ secure: b7Ubc7/+EX4zHJ5zz15xiHntizhuZCU8SKR/jcbrR86wZx1DW8kIABBoVIHMh5CaMvrjF63B1qEoG4HcuovKZWezFLPgj4IQqlwlUle0/Vm0smO1kPMEOuMIv5P3TTgXZ99h1OdnfRQtDgbjxgKGszawMxNcw9Q8mqvVCc8Pmr+Uiw9DOOkHNMfLH+xOl00Ir9ST+K4/GKq19h8Z3glZE0oQAPajt5kgDZdDGD3en+t2g3kafJ9Hv6twKSb5rd5I9BN+VJ0m66OofGxnZFUxM/cb8T+s+6DdPXGWJq4IZ/q9SO108qfl1aTd7EiFa+hVtlLii7QaSMHARrbWT3wMYH3QhgTBPly8Dky92c74ziLkqaDdaxmGfYnzLDVCRVlGmGzUkOLx1ey9XK2kwSods+ud8rJ2pHWaT7NQROzTD4O0YhLHvEAoN6PwtIWm1v78OViBng36PKW0WtAE1rG9CEK1FjhA7ZZoctAsKqSaXWZR39+0xgSv+1axLXru/TG8QLqKNEOgNbE5lqR7sF2cVQgmmUstlMqiEgKMF0cFWWVi1wqR6VNxrgwgWeWtwzHLkchY6T3vhK9sl+cUM6SebfCOCAJHPBxSvHRHtJcrDY8qMqjlfFBSagjaClFt1Uzy//ab4XRzEs8VQcVkz9Yw7S51iOYBdj6135lfE0ZxE1c=
23
+ edge: true
24
+ on:
25
+ all_branches: true
26
+ provider: rubygems
@@ -1,31 +1,31 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ledger_sync (1.4.4)
4
+ ledger_sync (1.5.0)
5
5
  activemodel
6
6
  colorize
7
- coveralls
8
- dotenv
9
- dry-schema
10
- dry-validation
7
+ coveralls (~> 0.8.23)
8
+ dotenv (~> 2.7.6)
9
+ dry-schema (~> 1.5.4)
10
+ dry-validation (~> 1.5.6)
11
11
  faraday
12
12
  faraday-detailed_logger
13
13
  faraday_middleware
14
14
  fingerprintable (>= 1.2.1)
15
- netsuite
15
+ netsuite (~> 0.8.6)
16
16
  nokogiri
17
17
  oauth2
18
18
  pd_ruby
19
19
  resonad
20
20
  simply_serializable (>= 1.5.1)
21
- stripe
21
+ stripe (~> 5.26.0)
22
22
 
23
23
  GEM
24
24
  remote: https://rubygems.org/
25
25
  specs:
26
- activemodel (6.0.3.1)
27
- activesupport (= 6.0.3.1)
28
- activesupport (6.0.3.1)
26
+ activemodel (6.0.3.4)
27
+ activesupport (= 6.0.3.4)
28
+ activesupport (6.0.3.4)
29
29
  concurrent-ruby (~> 1.0, >= 1.0.2)
30
30
  i18n (>= 0.7, < 2)
31
31
  minitest (~> 5.1)
@@ -36,27 +36,26 @@ GEM
36
36
  akami (1.3.1)
37
37
  gyoku (>= 0.4.0)
38
38
  nokogiri
39
- ast (2.4.0)
39
+ ast (2.4.1)
40
40
  awesome_print (1.8.0)
41
41
  builder (3.2.4)
42
42
  bump (0.9.0)
43
43
  byebug (11.1.3)
44
- childprocess (3.0.0)
44
+ childprocess (4.0.0)
45
45
  colorator (1.1.0)
46
46
  colorize (0.8.1)
47
- concurrent-ruby (1.1.6)
47
+ concurrent-ruby (1.1.7)
48
48
  coveralls (0.8.23)
49
49
  json (>= 1.8, < 3)
50
50
  simplecov (~> 0.16.1)
51
51
  term-ansicolor (~> 1.3)
52
52
  thor (>= 0.19.4, < 2.0)
53
53
  tins (~> 1.6)
54
- crack (0.4.3)
55
- safe_yaml (~> 1.0.0)
56
- diff-lcs (1.3)
54
+ crack (0.4.4)
55
+ diff-lcs (1.4.4)
57
56
  docile (1.3.2)
58
- dotenv (2.7.5)
59
- dry-configurable (0.11.5)
57
+ dotenv (2.7.6)
58
+ dry-configurable (0.11.6)
60
59
  concurrent-ruby (~> 1.0)
61
60
  dry-core (~> 0.4, >= 0.4.7)
62
61
  dry-equalizer (~> 0.2)
@@ -67,12 +66,12 @@ GEM
67
66
  concurrent-ruby (~> 1.0)
68
67
  dry-equalizer (0.3.0)
69
68
  dry-inflector (0.2.0)
70
- dry-initializer (3.0.3)
71
- dry-logic (1.0.6)
69
+ dry-initializer (3.0.4)
70
+ dry-logic (1.0.8)
72
71
  concurrent-ruby (~> 1.0)
73
72
  dry-core (~> 0.2)
74
73
  dry-equalizer (~> 0.2)
75
- dry-schema (1.5.1)
74
+ dry-schema (1.5.6)
76
75
  concurrent-ruby (~> 1.0)
77
76
  dry-configurable (~> 0.8, >= 0.8.3)
78
77
  dry-core (~> 0.4)
@@ -87,26 +86,27 @@ GEM
87
86
  dry-equalizer (~> 0.3)
88
87
  dry-inflector (~> 0.1, >= 0.1.2)
89
88
  dry-logic (~> 1.0, >= 1.0.2)
90
- dry-validation (1.5.1)
89
+ dry-validation (1.5.6)
91
90
  concurrent-ruby (~> 1.0)
92
91
  dry-container (~> 0.7, >= 0.7.1)
93
92
  dry-core (~> 0.4)
94
93
  dry-equalizer (~> 0.2)
95
94
  dry-initializer (~> 3.0)
96
- dry-schema (~> 1.5)
97
- em-websocket (0.5.1)
95
+ dry-schema (~> 1.5, >= 1.5.2)
96
+ em-websocket (0.5.2)
98
97
  eventmachine (>= 0.12.9)
99
98
  http_parser.rb (~> 0.6.0)
100
99
  eventmachine (1.2.7)
101
- factory_bot (6.0.1)
100
+ factory_bot (6.1.0)
102
101
  activesupport (>= 5.0.0)
103
- faraday (1.0.1)
102
+ faraday (1.1.0)
104
103
  multipart-post (>= 1.2, < 3)
104
+ ruby2_keywords
105
105
  faraday-detailed_logger (2.3.0)
106
106
  faraday (>= 0.8, < 2)
107
107
  faraday_middleware (1.0.0)
108
108
  faraday (~> 1.0)
109
- ffi (1.13.0)
109
+ ffi (1.13.1)
110
110
  fingerprintable (1.2.1)
111
111
  colorize
112
112
  forwardable-extended (2.6.0)
@@ -114,7 +114,7 @@ GEM
114
114
  builder (>= 2.1.2)
115
115
  hashdiff (1.0.1)
116
116
  http_parser.rb (0.6.0)
117
- httpi (2.4.4)
117
+ httpi (2.4.5)
118
118
  rack
119
119
  socksify
120
120
  i18n (0.9.5)
@@ -142,8 +142,8 @@ GEM
142
142
  sass (~> 3.4)
143
143
  jekyll-watch (2.2.1)
144
144
  listen (~> 3.0)
145
- json (2.3.0)
146
- jwt (2.2.1)
145
+ json (2.3.1)
146
+ jwt (2.2.2)
147
147
  kramdown (1.17.0)
148
148
  liquid (4.0.3)
149
149
  listen (3.2.1)
@@ -151,13 +151,13 @@ GEM
151
151
  rb-inotify (~> 0.9, >= 0.9.10)
152
152
  mercenary (0.3.6)
153
153
  mini_portile2 (2.4.0)
154
- minitest (5.14.1)
155
- multi_json (1.14.1)
154
+ minitest (5.14.2)
155
+ multi_json (1.15.0)
156
156
  multi_xml (0.6.0)
157
157
  multipart-post (2.1.1)
158
- netsuite (0.8.5)
159
- savon (>= 2.3.0)
160
- nokogiri (1.10.9)
158
+ netsuite (0.8.6)
159
+ savon (>= 2.3.0, <= 2.11.1)
160
+ nokogiri (1.10.10)
161
161
  mini_portile2 (~> 2.4.0)
162
162
  nori (2.6.0)
163
163
  oauth2 (1.4.4)
@@ -166,64 +166,65 @@ GEM
166
166
  multi_json (~> 1.3)
167
167
  multi_xml (~> 0.5)
168
168
  rack (>= 1.2, < 3)
169
- overcommit (0.53.0)
170
- childprocess (>= 0.6.3, < 4)
169
+ overcommit (0.57.0)
170
+ childprocess (>= 0.6.3, < 5)
171
171
  iniparse (~> 1.4)
172
- parallel (1.19.1)
173
- parser (2.7.1.3)
174
- ast (~> 2.4.0)
172
+ parallel (1.19.2)
173
+ parser (2.7.2.0)
174
+ ast (~> 2.4.1)
175
175
  pathutil (0.16.2)
176
176
  forwardable-extended (~> 2.6)
177
177
  pd_ruby (0.2.3)
178
178
  colorize
179
- public_suffix (4.0.5)
179
+ public_suffix (4.0.6)
180
180
  rack (2.2.3)
181
181
  rainbow (3.0.0)
182
182
  rake (13.0.1)
183
183
  rb-fsevent (0.10.4)
184
184
  rb-inotify (0.10.1)
185
185
  ffi (~> 1.0)
186
- regexp_parser (1.7.1)
187
- resonad (1.2.0)
186
+ regexp_parser (1.8.2)
187
+ resonad (1.3.0)
188
188
  rexml (3.2.4)
189
- rouge (3.19.0)
189
+ rouge (3.24.0)
190
190
  rspec (3.9.0)
191
191
  rspec-core (~> 3.9.0)
192
192
  rspec-expectations (~> 3.9.0)
193
193
  rspec-mocks (~> 3.9.0)
194
- rspec-core (3.9.2)
194
+ rspec-core (3.9.3)
195
195
  rspec-support (~> 3.9.3)
196
- rspec-expectations (3.9.2)
196
+ rspec-expectations (3.9.3)
197
197
  diff-lcs (>= 1.2.0, < 2.0)
198
198
  rspec-support (~> 3.9.0)
199
199
  rspec-mocks (3.9.1)
200
200
  diff-lcs (>= 1.2.0, < 2.0)
201
201
  rspec-support (~> 3.9.0)
202
- rspec-support (3.9.3)
203
- rubocop (0.85.1)
202
+ rspec-support (3.9.4)
203
+ rubocop (1.0.0)
204
204
  parallel (~> 1.10)
205
- parser (>= 2.7.0.1)
205
+ parser (>= 2.7.1.5)
206
206
  rainbow (>= 2.2.2, < 4.0)
207
- regexp_parser (>= 1.7)
207
+ regexp_parser (>= 1.8)
208
208
  rexml
209
- rubocop-ast (>= 0.0.3)
209
+ rubocop-ast (>= 0.6.0)
210
210
  ruby-progressbar (~> 1.7)
211
211
  unicode-display_width (>= 1.4.0, < 2.0)
212
- rubocop-ast (0.0.3)
213
- parser (>= 2.7.0.1)
212
+ rubocop-ast (1.1.0)
213
+ parser (>= 2.7.1.5)
214
214
  ruby-progressbar (1.10.1)
215
+ ruby2_keywords (0.0.2)
215
216
  safe_yaml (1.0.5)
216
217
  sass (3.7.4)
217
218
  sass-listen (~> 4.0.0)
218
219
  sass-listen (4.0.0)
219
220
  rb-fsevent (~> 0.9, >= 0.9.4)
220
221
  rb-inotify (~> 0.9, >= 0.9.7)
221
- savon (2.12.0)
222
+ savon (2.11.1)
222
223
  akami (~> 1.2)
223
224
  builder (>= 2.1.2)
224
225
  gyoku (~> 1.2)
225
226
  httpi (~> 2.3)
226
- nokogiri (>= 1.8.1)
227
+ nokogiri (>= 1.4.0)
227
228
  nori (~> 2.4)
228
229
  wasabi (~> 3.4)
229
230
  simplecov (0.16.1)
@@ -234,42 +235,43 @@ GEM
234
235
  simply_serializable (1.5.1)
235
236
  fingerprintable (>= 1.2.1)
236
237
  socksify (1.7.1)
237
- stripe (5.22.0)
238
+ stripe (5.26.0)
238
239
  sync (0.5.0)
239
240
  term-ansicolor (1.7.1)
240
241
  tins (~> 1.0)
241
242
  thor (1.0.1)
242
243
  thread_safe (0.3.6)
243
- tins (1.25.0)
244
+ tins (1.26.0)
244
245
  sync
245
246
  tzinfo (1.2.7)
246
247
  thread_safe (~> 0.1)
247
248
  unicode-display_width (1.7.0)
248
249
  vcr (6.0.0)
249
- wasabi (3.5.0)
250
+ wasabi (3.6.1)
251
+ addressable
250
252
  httpi (~> 2.0)
251
253
  nokogiri (>= 1.4.2)
252
- webmock (3.8.3)
254
+ webmock (3.9.3)
253
255
  addressable (>= 2.3.6)
254
256
  crack (>= 0.3.2)
255
257
  hashdiff (>= 0.4.0, < 2.0.0)
256
- zeitwerk (2.3.0)
258
+ zeitwerk (2.4.0)
257
259
 
258
260
  PLATFORMS
259
261
  ruby
260
262
 
261
263
  DEPENDENCIES
262
264
  awesome_print
263
- bump
264
- bundler (~> 1.16)
265
+ bump (~> 0.9.0)
266
+ bundler (~> 2.1)
265
267
  byebug
266
- factory_bot
268
+ factory_bot (~> 6.1.0)
267
269
  jekyll (~> 3.8.4)
268
270
  jekyll-menus (~> 0.6.0)
269
271
  jekyll-paginate (~> 1.1)
270
272
  jekyll-paginate-v2 (~> 1.9)
271
273
  ledger_sync!
272
- overcommit
274
+ overcommit (~> 0.57.0)
273
275
  rake (~> 13.0)
274
276
  rspec (~> 3.2)
275
277
  rubocop
@@ -277,4 +279,4 @@ DEPENDENCIES
277
279
  webmock
278
280
 
279
281
  BUNDLED WITH
280
- 1.17.3
282
+ 2.1.4
@@ -42,7 +42,7 @@ client = LedgerSync::Ledgers::QuickBooksOnline::Client.new_from_env(test: true)
42
42
  puts 'Go to the following URL:'
43
43
  puts client.authorization_url(redirect_uri: base_url)
44
44
 
45
- while (session = server.accept)
45
+ while (session = server.accept) # rubocop:disable Lint/UnreachableLoop
46
46
  request = session.gets
47
47
 
48
48
  puts request
@@ -10,6 +10,8 @@ module Docs
10
10
 
11
11
  def initialize(args = {})
12
12
  @ledger = args.fetch(:ledger)
13
+
14
+ super
13
15
  end
14
16
 
15
17
  def client_class
@@ -1,17 +1,72 @@
1
1
  ---
2
- title: Deployment
2
+ title: New Release
3
3
  layout: guides
4
4
  ---
5
5
 
6
6
  <div class="note"><strong>Note:</strong>
7
- Only contributors can deploy new versions of the gem to RubyGems.org.
7
+ Only owners can release new versions of the gem to RubyGems.org.
8
8
  </div>
9
9
 
10
- To deploy a new version of the gem to RubyGems, you can use the `release.sh` script in the root. The script takes advantage of [the bump gem](https://github.com/gregorym/bump). So you may call the script using any of the following:
10
+ ## 1. Pull latest development
11
+
12
+ ```bash
13
+ git checkout development
14
+ git pull origin development
15
+ ```
16
+
17
+ ## 3. Start release
18
+
19
+ This assumes you are using [the git-flow gem](https://github.com/nvie/gitflow):
20
+
21
+ ```bash
22
+ git flow release start vX.X.X # Replace X.X.X. with new version
23
+ ```
24
+
25
+ ## 2. Update version
26
+
27
+ You can use [the bump gem](https://github.com/gregorym/bump) to easily update the gem version:
11
28
 
12
29
  ```bash
13
30
  # Version Format: MAJOR.MINOR.PATCH
14
- ./release.sh patch # to bump X in 1.1.X
15
- ./release.sh minor # to bump X in 1.X.1
16
- ./release.sh major # to bump X in X.1.1
17
- ```
31
+ # Choose one of the following
32
+ bundle exec bump patch # to bump X in 1.1.X
33
+ bundle exec bump minor # to bump X in 1.X.1
34
+ bundle exec bump major # to bump X in X.1.1
35
+
36
+ git commit -am "Publish version X.X.X"
37
+ ```
38
+
39
+ ## 3. Publish version
40
+
41
+ ```bash
42
+ git flow release publish vX.X.X # Replace X.X.X. with new version
43
+ ```
44
+
45
+ ## 4. Create PR
46
+
47
+ Create a PR in the github repo with `master` as the base.
48
+
49
+ ## 5. Wait for review and tests to pass.
50
+
51
+ All releases should be approved and NOT merged using github.
52
+
53
+ ## 6. Merge release
54
+
55
+ Merge the release using git-flow:
56
+
57
+ ```bash
58
+ git flow release finish vX.X.X # Replace X.X.X. with new version
59
+ git push origin --tags
60
+ ```
61
+
62
+ ## 7. Deploy new version to rubygems
63
+
64
+ ```bash
65
+ git checkout master
66
+ bundle exec build
67
+ bundle exec release
68
+ ```
69
+
70
+ ## That's it!
71
+
72
+ The version will now be available [on rubygems](https://rubygems.org/gems/ledger_sync).