ledger_sync 1.4.4 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
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.