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
@@ -11,6 +11,16 @@ module LedgerSync
11
11
  :date
12
12
  end
13
13
 
14
+ def valid?(args = {})
15
+ return false unless valid_class?(args)
16
+
17
+ value = args.fetch(:value)
18
+ return true unless value.is_a?(::String)
19
+ return false unless value =~ /\A[0-9]{4}-[0-9]{2}-[0-9]{2}\z/
20
+
21
+ true
22
+ end
23
+
14
24
  def valid_classes
15
25
  [::Date, ::String]
16
26
  end
@@ -9,7 +9,7 @@ module LedgerSync
9
9
  end
10
10
 
11
11
  def assert_valid(args = {})
12
- return if valid_class?(args)
12
+ return if valid?(args)
13
13
 
14
14
  value = args.fetch(:value)
15
15
 
@@ -22,6 +22,8 @@ module LedgerSync
22
22
  # Do not override this method. Override private method cast_value
23
23
  def cast(args = {})
24
24
  assert_valid(args)
25
+ return nil if args.fetch(:value).nil?
26
+
25
27
  cast_value(args)
26
28
  end
27
29
 
@@ -42,7 +42,7 @@ module LedgerSync
42
42
  }
43
43
  )
44
44
 
45
- return new_destination if destination.class == new_destination.class
45
+ return new_destination if destination.instance_of?(new_destination.class)
46
46
 
47
47
  raise "Block value must be the same class as the destination: #{destination.class}"
48
48
  end
@@ -9,6 +9,8 @@ module LedgerSync
9
9
 
10
10
  def initialize(args = {})
11
11
  @resource_converter = args.fetch(:resource_converter)
12
+
13
+ super()
12
14
  end
13
15
 
14
16
  def cast_value(args = {})
@@ -12,13 +12,13 @@ module LedgerSync
12
12
  @str = str
13
13
  end
14
14
 
15
- def hmac_sha1(escape: false, key:)
15
+ def hmac_sha1(key:, escape: false)
16
16
  ret = Base64.encode64(OpenSSL::HMAC.digest(HMAC_SHA1_DIGEST, key, str)).strip
17
17
  ret = self.class.escape(str: ret) if escape
18
18
  ret
19
19
  end
20
20
 
21
- def hmac_sha256(escape: false, key:)
21
+ def hmac_sha256(key:, escape: false)
22
22
  ret = Base64.encode64(OpenSSL::HMAC.digest(HMAC_SHA256_DIGEST, key, str)).strip
23
23
  ret = self.class.escape(str: ret) if escape
24
24
  ret
@@ -1,5 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LedgerSync
4
- VERSION = '1.4.4'
4
+ VERSION = '1.5.0'
5
+
6
+ def self.version
7
+ if !ENV['TRAVIS'] || ENV.fetch('TRAVIS_TAG', '') != ''
8
+ VERSION
9
+ else
10
+ "#{VERSION}.pre.#{ENV['TRAVIS_BUILD_NUMBER']}"
11
+ end
12
+ end
5
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ledger_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.4
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Jackson
@@ -28,30 +28,30 @@ dependencies:
28
28
  name: bump
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.9.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.9.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.16'
47
+ version: '2.1'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.16'
54
+ version: '2.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: byebug
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: factory_bot
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 6.1.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 6.1.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: jekyll
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -140,16 +140,16 @@ dependencies:
140
140
  name: overcommit
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0'
145
+ version: 0.57.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0'
152
+ version: 0.57.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rake
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -252,58 +252,58 @@ dependencies:
252
252
  name: coveralls
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - ">="
255
+ - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: '0'
257
+ version: 0.8.23
258
258
  type: :runtime
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - ">="
262
+ - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: '0'
264
+ version: 0.8.23
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: dotenv
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
- - - ">="
269
+ - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: '0'
271
+ version: 2.7.6
272
272
  type: :runtime
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
- - - ">="
276
+ - - "~>"
277
277
  - !ruby/object:Gem::Version
278
- version: '0'
278
+ version: 2.7.6
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: dry-schema
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
- - - ">="
283
+ - - "~>"
284
284
  - !ruby/object:Gem::Version
285
- version: '0'
285
+ version: 1.5.4
286
286
  type: :runtime
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
- - - ">="
290
+ - - "~>"
291
291
  - !ruby/object:Gem::Version
292
- version: '0'
292
+ version: 1.5.4
293
293
  - !ruby/object:Gem::Dependency
294
294
  name: dry-validation
295
295
  requirement: !ruby/object:Gem::Requirement
296
296
  requirements:
297
- - - ">="
297
+ - - "~>"
298
298
  - !ruby/object:Gem::Version
299
- version: '0'
299
+ version: 1.5.6
300
300
  type: :runtime
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
- - - ">="
304
+ - - "~>"
305
305
  - !ruby/object:Gem::Version
306
- version: '0'
306
+ version: 1.5.6
307
307
  - !ruby/object:Gem::Dependency
308
308
  name: faraday
309
309
  requirement: !ruby/object:Gem::Requirement
@@ -364,16 +364,16 @@ dependencies:
364
364
  name: netsuite
365
365
  requirement: !ruby/object:Gem::Requirement
366
366
  requirements:
367
- - - ">="
367
+ - - "~>"
368
368
  - !ruby/object:Gem::Version
369
- version: '0'
369
+ version: 0.8.6
370
370
  type: :runtime
371
371
  prerelease: false
372
372
  version_requirements: !ruby/object:Gem::Requirement
373
373
  requirements:
374
- - - ">="
374
+ - - "~>"
375
375
  - !ruby/object:Gem::Version
376
- version: '0'
376
+ version: 0.8.6
377
377
  - !ruby/object:Gem::Dependency
378
378
  name: nokogiri
379
379
  requirement: !ruby/object:Gem::Requirement
@@ -448,16 +448,16 @@ dependencies:
448
448
  name: stripe
449
449
  requirement: !ruby/object:Gem::Requirement
450
450
  requirements:
451
- - - ">="
451
+ - - "~>"
452
452
  - !ruby/object:Gem::Version
453
- version: '0'
453
+ version: 5.26.0
454
454
  type: :runtime
455
455
  prerelease: false
456
456
  version_requirements: !ruby/object:Gem::Requirement
457
457
  requirements:
458
- - - ">="
458
+ - - "~>"
459
459
  - !ruby/object:Gem::Version
460
- version: '0'
460
+ version: 5.26.0
461
461
  description: LedgerSync is a simple library that allows you to sync common objects
462
462
  to popular accounting software like QuickBooks Online, Xero, NetSuite, etc.
463
463
  email:
@@ -707,7 +707,7 @@ files:
707
707
  - lib/ledger_sync/ledgers/client.rb
708
708
  - lib/ledger_sync/ledgers/contract.rb
709
709
  - lib/ledger_sync/ledgers/dashboard_url_helper.rb
710
- - lib/ledger_sync/ledgers/mixins/infer_client_mixin.rb
710
+ - lib/ledger_sync/ledgers/mixins/infer_config_mixin.rb
711
711
  - lib/ledger_sync/ledgers/mixins/infer_resource_class_mixin.rb
712
712
  - lib/ledger_sync/ledgers/mixins/infer_serializer_mixin.rb
713
713
  - lib/ledger_sync/ledgers/mixins/infer_validation_contract_mixin.rb
@@ -854,23 +854,29 @@ files:
854
854
  - lib/ledger_sync/ledgers/quickbooks_online/account/operations/update.rb
855
855
  - lib/ledger_sync/ledgers/quickbooks_online/account/searcher.rb
856
856
  - lib/ledger_sync/ledgers/quickbooks_online/account/serializer.rb
857
+ - lib/ledger_sync/ledgers/quickbooks_online/account_based_expense_line_detail/deserializer.rb
858
+ - lib/ledger_sync/ledgers/quickbooks_online/account_based_expense_line_detail/serializer.rb
857
859
  - lib/ledger_sync/ledgers/quickbooks_online/bill/deserializer.rb
858
860
  - lib/ledger_sync/ledgers/quickbooks_online/bill/operations/create.rb
859
861
  - lib/ledger_sync/ledgers/quickbooks_online/bill/operations/find.rb
860
862
  - lib/ledger_sync/ledgers/quickbooks_online/bill/operations/update.rb
861
863
  - lib/ledger_sync/ledgers/quickbooks_online/bill/searcher.rb
862
864
  - lib/ledger_sync/ledgers/quickbooks_online/bill/serializer.rb
863
- - lib/ledger_sync/ledgers/quickbooks_online/bill_line_item/deserializer.rb
864
- - lib/ledger_sync/ledgers/quickbooks_online/bill_line_item/serializer.rb
865
+ - lib/ledger_sync/ledgers/quickbooks_online/bill_line/deserializer.rb
866
+ - lib/ledger_sync/ledgers/quickbooks_online/bill_line/serializer.rb
865
867
  - lib/ledger_sync/ledgers/quickbooks_online/bill_payment/deserializer.rb
866
868
  - lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/create.rb
867
869
  - lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/find.rb
868
870
  - lib/ledger_sync/ledgers/quickbooks_online/bill_payment/operations/update.rb
869
871
  - lib/ledger_sync/ledgers/quickbooks_online/bill_payment/serializer.rb
870
- - lib/ledger_sync/ledgers/quickbooks_online/bill_payment_line_item/deserializer.rb
871
- - lib/ledger_sync/ledgers/quickbooks_online/bill_payment_line_item/serializer.rb
872
+ - lib/ledger_sync/ledgers/quickbooks_online/bill_payment_line/deserializer.rb
873
+ - lib/ledger_sync/ledgers/quickbooks_online/bill_payment_line/serializer.rb
874
+ - lib/ledger_sync/ledgers/quickbooks_online/check_payment/deserializer.rb
875
+ - lib/ledger_sync/ledgers/quickbooks_online/check_payment/serializer.rb
872
876
  - lib/ledger_sync/ledgers/quickbooks_online/client.rb
873
877
  - lib/ledger_sync/ledgers/quickbooks_online/config.rb
878
+ - lib/ledger_sync/ledgers/quickbooks_online/credit_card_payment/deserializer.rb
879
+ - lib/ledger_sync/ledgers/quickbooks_online/credit_card_payment/serializer.rb
874
880
  - lib/ledger_sync/ledgers/quickbooks_online/currency/deserializer.rb
875
881
  - lib/ledger_sync/ledgers/quickbooks_online/currency/serializer.rb
876
882
  - lib/ledger_sync/ledgers/quickbooks_online/customer/deserializer.rb
@@ -892,8 +898,10 @@ files:
892
898
  - lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/update.rb
893
899
  - lib/ledger_sync/ledgers/quickbooks_online/deposit/searcher.rb
894
900
  - lib/ledger_sync/ledgers/quickbooks_online/deposit/serializer.rb
895
- - lib/ledger_sync/ledgers/quickbooks_online/deposit_line_item/deserializer.rb
896
- - lib/ledger_sync/ledgers/quickbooks_online/deposit_line_item/serializer.rb
901
+ - lib/ledger_sync/ledgers/quickbooks_online/deposit_line/deserializer.rb
902
+ - lib/ledger_sync/ledgers/quickbooks_online/deposit_line/serializer.rb
903
+ - lib/ledger_sync/ledgers/quickbooks_online/deposit_line_detail/deserializer.rb
904
+ - lib/ledger_sync/ledgers/quickbooks_online/deposit_line_detail/serializer.rb
897
905
  - lib/ledger_sync/ledgers/quickbooks_online/deserializer.rb
898
906
  - lib/ledger_sync/ledgers/quickbooks_online/expense/deserializer.rb
899
907
  - lib/ledger_sync/ledgers/quickbooks_online/expense/operations/create.rb
@@ -901,15 +909,15 @@ files:
901
909
  - lib/ledger_sync/ledgers/quickbooks_online/expense/operations/update.rb
902
910
  - lib/ledger_sync/ledgers/quickbooks_online/expense/searcher.rb
903
911
  - lib/ledger_sync/ledgers/quickbooks_online/expense/serializer.rb
904
- - lib/ledger_sync/ledgers/quickbooks_online/expense_line_item/deserializer.rb
905
- - lib/ledger_sync/ledgers/quickbooks_online/expense_line_item/serializer.rb
912
+ - lib/ledger_sync/ledgers/quickbooks_online/expense_line/deserializer.rb
913
+ - lib/ledger_sync/ledgers/quickbooks_online/expense_line/serializer.rb
906
914
  - lib/ledger_sync/ledgers/quickbooks_online/invoice/deserializer.rb
907
915
  - lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/create.rb
908
916
  - lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/find.rb
909
917
  - lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/update.rb
910
918
  - lib/ledger_sync/ledgers/quickbooks_online/invoice/serializer.rb
911
- - lib/ledger_sync/ledgers/quickbooks_online/invoice_sales_line_item/deserializer.rb
912
- - lib/ledger_sync/ledgers/quickbooks_online/invoice_sales_line_item/serializer.rb
919
+ - lib/ledger_sync/ledgers/quickbooks_online/invoice_line/deserializer.rb
920
+ - lib/ledger_sync/ledgers/quickbooks_online/invoice_line/serializer.rb
913
921
  - lib/ledger_sync/ledgers/quickbooks_online/item/deserializer.rb
914
922
  - lib/ledger_sync/ledgers/quickbooks_online/item/serializer.rb
915
923
  - lib/ledger_sync/ledgers/quickbooks_online/journal_entry/deserializer.rb
@@ -918,8 +926,10 @@ files:
918
926
  - lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/update.rb
919
927
  - lib/ledger_sync/ledgers/quickbooks_online/journal_entry/searcher.rb
920
928
  - lib/ledger_sync/ledgers/quickbooks_online/journal_entry/serializer.rb
921
- - lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/deserializer.rb
922
- - lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_item/serializer.rb
929
+ - lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line/deserializer.rb
930
+ - lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line/serializer.rb
931
+ - lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_detail/deserializer.rb
932
+ - lib/ledger_sync/ledgers/quickbooks_online/journal_entry_line_detail/serializer.rb
923
933
  - lib/ledger_sync/ledgers/quickbooks_online/ledger_class/deserializer.rb
924
934
  - lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/create.rb
925
935
  - lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/find.rb
@@ -937,39 +947,52 @@ files:
937
947
  - lib/ledger_sync/ledgers/quickbooks_online/payment/operations/find.rb
938
948
  - lib/ledger_sync/ledgers/quickbooks_online/payment/operations/update.rb
939
949
  - lib/ledger_sync/ledgers/quickbooks_online/payment/serializer.rb
940
- - lib/ledger_sync/ledgers/quickbooks_online/payment_line_item/deserializer.rb
941
- - lib/ledger_sync/ledgers/quickbooks_online/payment_line_item/serializer.rb
950
+ - lib/ledger_sync/ledgers/quickbooks_online/payment_line/deserializer.rb
951
+ - lib/ledger_sync/ledgers/quickbooks_online/payment_line/serializer.rb
942
952
  - lib/ledger_sync/ledgers/quickbooks_online/preferences/deserializer.rb
943
953
  - lib/ledger_sync/ledgers/quickbooks_online/preferences/operations/find.rb
944
954
  - lib/ledger_sync/ledgers/quickbooks_online/preferences/serializer.rb
955
+ - lib/ledger_sync/ledgers/quickbooks_online/primary_email_addr/deserializer.rb
956
+ - lib/ledger_sync/ledgers/quickbooks_online/primary_email_addr/serializer.rb
957
+ - lib/ledger_sync/ledgers/quickbooks_online/primary_phone/deserializer.rb
958
+ - lib/ledger_sync/ledgers/quickbooks_online/primary_phone/serializer.rb
959
+ - lib/ledger_sync/ledgers/quickbooks_online/reference/deserializer.rb
960
+ - lib/ledger_sync/ledgers/quickbooks_online/reference/serializer.rb
945
961
  - lib/ledger_sync/ledgers/quickbooks_online/request.rb
946
962
  - lib/ledger_sync/ledgers/quickbooks_online/resource.rb
947
963
  - lib/ledger_sync/ledgers/quickbooks_online/resources/account.rb
964
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/account_based_expense_line_detail.rb
948
965
  - lib/ledger_sync/ledgers/quickbooks_online/resources/bill.rb
949
- - lib/ledger_sync/ledgers/quickbooks_online/resources/bill_line_item.rb
966
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/bill_line.rb
950
967
  - lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment.rb
951
- - lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment_line_item.rb
968
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/bill_payment_line.rb
969
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/check_payment.rb
970
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/credit_card_payment.rb
952
971
  - lib/ledger_sync/ledgers/quickbooks_online/resources/currency.rb
953
972
  - lib/ledger_sync/ledgers/quickbooks_online/resources/customer.rb
954
973
  - lib/ledger_sync/ledgers/quickbooks_online/resources/department.rb
955
974
  - lib/ledger_sync/ledgers/quickbooks_online/resources/deposit.rb
956
- - lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line_item.rb
975
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line.rb
976
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/deposit_line_detail.rb
957
977
  - lib/ledger_sync/ledgers/quickbooks_online/resources/expense.rb
958
- - lib/ledger_sync/ledgers/quickbooks_online/resources/expense_line_item.rb
978
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/expense_line.rb
959
979
  - lib/ledger_sync/ledgers/quickbooks_online/resources/invoice.rb
960
- - lib/ledger_sync/ledgers/quickbooks_online/resources/invoice_sales_line_item.rb
980
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/invoice_line.rb
961
981
  - lib/ledger_sync/ledgers/quickbooks_online/resources/item.rb
962
982
  - lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry.rb
963
- - lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line_item.rb
983
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line.rb
984
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/journal_entry_line_detail.rb
964
985
  - lib/ledger_sync/ledgers/quickbooks_online/resources/ledger_class.rb
965
986
  - lib/ledger_sync/ledgers/quickbooks_online/resources/payment.rb
966
- - lib/ledger_sync/ledgers/quickbooks_online/resources/payment_line_item.rb
987
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/payment_line.rb
967
988
  - lib/ledger_sync/ledgers/quickbooks_online/resources/preferences.rb
968
989
  - lib/ledger_sync/ledgers/quickbooks_online/resources/primary_email_addr.rb
969
990
  - lib/ledger_sync/ledgers/quickbooks_online/resources/primary_phone.rb
970
- - lib/ledger_sync/ledgers/quickbooks_online/resources/subsidiary.rb
991
+ - lib/ledger_sync/ledgers/quickbooks_online/resources/sales_item_line_detail.rb
971
992
  - lib/ledger_sync/ledgers/quickbooks_online/resources/transfer.rb
972
993
  - lib/ledger_sync/ledgers/quickbooks_online/resources/vendor.rb
994
+ - lib/ledger_sync/ledgers/quickbooks_online/sales_item_line_detail/deserializer.rb
995
+ - lib/ledger_sync/ledgers/quickbooks_online/sales_item_line_detail/serializer.rb
973
996
  - lib/ledger_sync/ledgers/quickbooks_online/searcher.rb
974
997
  - lib/ledger_sync/ledgers/quickbooks_online/serialization/type/amount_float_to_integer_type.rb
975
998
  - lib/ledger_sync/ledgers/quickbooks_online/serialization/type/deserialize_transaction_reference_type.rb
@@ -1040,6 +1063,8 @@ files:
1040
1063
  - lib/ledger_sync/serialization/type/serializer_references_one_type.rb
1041
1064
  - lib/ledger_sync/serialization/type/serializer_type.rb
1042
1065
  - lib/ledger_sync/serializer.rb
1066
+ - lib/ledger_sync/test/support.rb
1067
+ - lib/ledger_sync/test/support/factory_bot.rb
1043
1068
  - lib/ledger_sync/type/boolean.rb
1044
1069
  - lib/ledger_sync/type/date.rb
1045
1070
  - lib/ledger_sync/type/float.rb
@@ -1073,7 +1098,6 @@ files:
1073
1098
  - lib/ledger_sync/version.rb
1074
1099
  - licenses/BSL.txt
1075
1100
  - licenses/documentation_site.txt
1076
- - release.sh
1077
1101
  homepage: https://github.com/LedgerSync/ledger_sync
1078
1102
  licenses:
1079
1103
  - MIT
@@ -1086,14 +1110,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1086
1110
  requirements:
1087
1111
  - - ">="
1088
1112
  - !ruby/object:Gem::Version
1089
- version: '0'
1113
+ version: 2.5.8
1090
1114
  required_rubygems_version: !ruby/object:Gem::Requirement
1091
1115
  requirements:
1092
1116
  - - ">="
1093
1117
  - !ruby/object:Gem::Version
1094
1118
  version: '0'
1095
1119
  requirements: []
1096
- rubygems_version: 3.0.3
1120
+ rubygems_version: 3.0.8
1097
1121
  signing_key:
1098
1122
  specification_version: 4
1099
1123
  summary: Sync common objects to accounting software.