ledger_sync 1.3.3 → 1.3.4

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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.rubocop_todo.yml +0 -3
  4. data/Gemfile.lock +47 -44
  5. data/ledger_sync.gemspec +1 -1
  6. data/lib/ledger_sync.rb +5 -0
  7. data/lib/ledger_sync/adaptors/adaptor.rb +28 -0
  8. data/lib/ledger_sync/adaptors/netsuite/account/operations/create.rb +1 -1
  9. data/lib/ledger_sync/adaptors/netsuite/account/searcher.rb +0 -16
  10. data/lib/ledger_sync/adaptors/netsuite/adaptor.rb +11 -3
  11. data/lib/ledger_sync/adaptors/netsuite/currency/operations/create.rb +1 -1
  12. data/lib/ledger_sync/adaptors/netsuite/customer/operations/create.rb +1 -1
  13. data/lib/ledger_sync/adaptors/netsuite/department/ledger_serializer.rb +17 -0
  14. data/lib/ledger_sync/adaptors/netsuite/department/operations/create.rb +25 -0
  15. data/lib/ledger_sync/adaptors/netsuite/department/operations/delete.rb +25 -0
  16. data/lib/ledger_sync/adaptors/netsuite/department/operations/find.rb +25 -0
  17. data/lib/ledger_sync/adaptors/netsuite/department/operations/update.rb +25 -0
  18. data/lib/ledger_sync/adaptors/netsuite/department/searcher.rb +12 -0
  19. data/lib/ledger_sync/adaptors/netsuite/ledger_serializer.rb +1 -1
  20. data/lib/ledger_sync/adaptors/netsuite/record/http_method.rb +14 -19
  21. data/lib/ledger_sync/adaptors/netsuite/record/metadata.rb +47 -21
  22. data/lib/ledger_sync/adaptors/netsuite/record/parameter.rb +20 -0
  23. data/lib/ledger_sync/adaptors/netsuite/record/property.rb +8 -31
  24. data/lib/ledger_sync/adaptors/netsuite/searcher.rb +19 -0
  25. data/lib/ledger_sync/adaptors/netsuite/vendor/operations/create.rb +1 -1
  26. data/lib/ledger_sync/adaptors/quickbooks_online/adaptor.rb +6 -11
  27. data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment/ledger_serializer.rb +76 -0
  28. data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/create.rb +33 -0
  29. data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/find.rb +33 -0
  30. data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/update.rb +33 -0
  31. data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment_line_item/ledger_serializer.rb +19 -0
  32. data/lib/ledger_sync/adaptors/quickbooks_online/operation.rb +1 -1
  33. data/lib/ledger_sync/adaptors/quickbooks_online/operation/find.rb +0 -6
  34. data/lib/ledger_sync/adaptors/quickbooks_online/preferences/ledger_serializer.rb +45 -0
  35. data/lib/ledger_sync/adaptors/quickbooks_online/preferences/operations/find.rb +38 -0
  36. data/lib/ledger_sync/adaptors/quickbooks_online/resources/preferences.rb +24 -0
  37. data/lib/ledger_sync/adaptors/searcher.rb +4 -0
  38. data/lib/ledger_sync/error/operation_errors.rb +0 -10
  39. data/lib/ledger_sync/resource.rb +1 -1
  40. data/lib/ledger_sync/resources/bill_payment.rb +32 -0
  41. data/lib/ledger_sync/resources/bill_payment_line_item.rb +15 -0
  42. data/lib/ledger_sync/type/hash.rb +34 -0
  43. data/lib/ledger_sync/util/read_only_object.rb +54 -0
  44. data/lib/ledger_sync/version.rb +1 -1
  45. metadata +23 -30
  46. data/qa/env_spec.rb +0 -5
  47. data/qa/netsuite/account_spec.rb +0 -20
  48. data/qa/netsuite/currency_spec.rb +0 -16
  49. data/qa/netsuite/customer.rb +0 -76
  50. data/qa/netsuite/customer_spec.rb +0 -21
  51. data/qa/netsuite/vendor.rb +0 -76
  52. data/qa/netsuite/vendor_spec.rb +0 -23
  53. data/qa/netsuite_soap/customer_spec.rb +0 -21
  54. data/qa/netsuite_soap/subsidiary_spec.rb +0 -0
  55. data/qa/qa_helper.rb +0 -58
  56. data/qa/quickbooks_online/account_spec.rb +0 -14
  57. data/qa/quickbooks_online/customer_spec.rb +0 -13
  58. data/qa/quickbooks_online/expense_spec.rb +0 -31
  59. data/qa/quickbooks_online/vendor_spec.rb +0 -13
  60. data/qa/stripe/customers_spec.rb +0 -15
  61. data/qa/support/adaptor_helpers.rb +0 -99
  62. data/qa/support/adaptor_support_setup.rb +0 -23
  63. data/qa/support/netsuite_helpers.rb +0 -33
  64. data/qa/support/netsuite_shared_examples.rb +0 -30
  65. data/qa/support/netsuite_soap_helpers.rb +0 -33
  66. data/qa/support/netsuite_soap_shared_examples.rb +0 -10
  67. data/qa/support/quickbooks_online_helpers.rb +0 -42
  68. data/qa/support/quickbooks_online_shared_examples.rb +0 -82
  69. data/qa/support/shared_examples.rb +0 -127
  70. data/qa/support/stripe_helpers.rb +0 -22
  71. data/qa/support/stripe_shared_examples.rb +0 -10
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ module Adaptors
5
+ module QuickBooksOnline
6
+ module BillPayment
7
+ module Operations
8
+ class Find < Operation::Find
9
+ class Contract < LedgerSync::Adaptors::Contract
10
+ schema do
11
+ required(:external_id).maybe(:string)
12
+ optional(:account).hash(Types::Reference)
13
+ optional(:amount).maybe(:integer)
14
+ optional(:bank_account).maybe(Types::Reference)
15
+ optional(:credit_card_account).maybe(Types::Reference)
16
+ required(:currency).maybe(:hash, Types::Reference)
17
+ optional(:department).hash(Types::Reference)
18
+ optional(:exchange_rate).maybe(:float)
19
+ required(:ledger_id).filled(:string)
20
+ optional(:line_items).array(Types::Reference)
21
+ optional(:memo).maybe(:string)
22
+ optional(:payment_type).maybe(:string)
23
+ optional(:reference_number).maybe(:string)
24
+ optional(:transaction_date).maybe(:date?)
25
+ optional(:vendor).hash(Types::Reference)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ module Adaptors
5
+ module QuickBooksOnline
6
+ module BillPayment
7
+ module Operations
8
+ class Update < Operation::FullUpdate
9
+ class Contract < LedgerSync::Adaptors::Contract
10
+ schema do
11
+ required(:external_id).maybe(:string)
12
+ optional(:account).hash(Types::Reference)
13
+ required(:amount).filled(:integer)
14
+ optional(:bank_account).maybe(Types::Reference)
15
+ optional(:credit_card_account).maybe(Types::Reference)
16
+ required(:currency).filled(:hash, Types::Reference)
17
+ required(:department).hash(Types::Reference)
18
+ optional(:exchange_rate).maybe(:float)
19
+ required(:ledger_id).filled(:string)
20
+ required(:line_items).array(Types::Reference)
21
+ optional(:memo).filled(:string)
22
+ required(:payment_type).filled(:string)
23
+ optional(:reference_number).maybe(:string)
24
+ optional(:transaction_date).filled(:date?)
25
+ required(:vendor).hash(Types::Reference)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ module Adaptors
5
+ module QuickBooksOnline
6
+ module BillPaymentLineItem
7
+ class LedgerSerializer < QuickBooksOnline::LedgerSerializer
8
+ attribute ledger_attribute: 'Amount',
9
+ resource_attribute: :amount,
10
+ type: LedgerSerializerType::AmountType
11
+
12
+ attribute ledger_attribute: 'LinkedTxn',
13
+ resource_attribute: :ledger_transactions,
14
+ type: LedgerSerializerType::TransactionReferenceType
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -14,7 +14,7 @@ module LedgerSync
14
14
  def deserialized_resource(response:)
15
15
  ledger_serializer.deserialize(
16
16
  hash: response.body.dig(
17
- quickbooks_online_resource_type.to_s.classify
17
+ quickbooks_online_resource_type.to_s.camelize
18
18
  )
19
19
  )
20
20
  end
@@ -12,12 +12,6 @@ module LedgerSync
12
12
  private
13
13
 
14
14
  def operate
15
- return failure(
16
- Errors::OperationError::LedgerIDRequired.new(
17
- operation: self
18
- )
19
- ) if resource.ledger_id.nil?
20
-
21
15
  response_to_operation_result(
22
16
  response: adaptor.find(
23
17
  path: ledger_resource_path
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ module Adaptors
5
+ module QuickBooksOnline
6
+ class Preferences
7
+ class LedgerSerializer < QuickBooksOnline::LedgerSerializer
8
+ attribute ledger_attribute: 'AccountingInfoPrefs',
9
+ resource_attribute: :accounting_info
10
+
11
+ attribute ledger_attribute: 'ProductAndServicesPrefs',
12
+ resource_attribute: :product_and_services
13
+
14
+ attribute ledger_attribute: 'SalesFormsPrefs',
15
+ resource_attribute: :sales_forms
16
+
17
+ attribute ledger_attribute: 'EmailMessagesPrefs',
18
+ resource_attribute: :email_messages
19
+
20
+ attribute ledger_attribute: 'VendorAndPurchasesPrefs',
21
+ resource_attribute: :vendor_and_purchases
22
+
23
+ attribute ledger_attribute: 'TimeTrackingPrefs',
24
+ resource_attribute: :time_tracking
25
+
26
+ attribute ledger_attribute: 'TaxPrefs',
27
+ resource_attribute: :tax
28
+
29
+ attribute ledger_attribute: 'CurrencyPrefs',
30
+ resource_attribute: :currency
31
+
32
+ attribute ledger_attribute: 'ReportPrefs',
33
+ resource_attribute: :report
34
+
35
+ attribute ledger_attribute: 'OtherPrefs',
36
+ resource_attribute: :other
37
+
38
+ def self.inferred_resource_class
39
+ LedgerSync::Adaptors::QuickBooksOnline::Preferences
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ module Adaptors
5
+ module QuickBooksOnline
6
+ class Preferences
7
+ module Operations
8
+ class Find < Operation::Find
9
+ class Contract < LedgerSync::Adaptors::Contract
10
+ params do
11
+ required(:external_id).maybe(:string)
12
+ required(:ledger_id).value(:nil)
13
+ required(:accounting_info).maybe(:hash)
14
+ required(:product_and_services).maybe(:hash)
15
+ required(:sales_forms).maybe(:hash)
16
+ required(:email_messages).maybe(:hash)
17
+ required(:vendor_and_purchases).maybe(:hash)
18
+ required(:time_tracking).maybe(:hash)
19
+ required(:tax).maybe(:hash)
20
+ required(:currency).maybe(:hash)
21
+ required(:report).maybe(:hash)
22
+ required(:other).maybe(:hash)
23
+ end
24
+ end
25
+
26
+ def self.inferred_resource_class
27
+ Preferences
28
+ end
29
+
30
+ def self.inferred_ledger_serializer_class
31
+ Preferences::LedgerSerializer
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ module Adaptors
5
+ module QuickBooksOnline
6
+ class Preferences < LedgerSync::Resource
7
+ attribute :accounting_info, type: Type::Hash
8
+ attribute :product_and_services, type: Type::Hash
9
+ attribute :sales_forms, type: Type::Hash
10
+ attribute :email_messages, type: Type::Hash
11
+ attribute :vendor_and_purchases, type: Type::Hash
12
+ attribute :time_tracking, type: Type::Hash
13
+ attribute :tax, type: Type::Hash
14
+ attribute :currency, type: Type::Hash
15
+ attribute :report, type: Type::Hash
16
+ attribute :other, type: Type::Hash
17
+
18
+ def name
19
+ 'Preference'
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -25,6 +25,10 @@ module LedgerSync
25
25
  @pagination = pagination
26
26
  end
27
27
 
28
+ def ledger_deserializer_class
29
+ @ledger_deserializer_class ||= self.class.inferred_ledger_deserializer_class
30
+ end
31
+
28
32
  def next_searcher
29
33
  raise NotImplementedError
30
34
  end
@@ -15,16 +15,6 @@ module LedgerSync
15
15
  class DuplicateLedgerResourceError < self; end
16
16
  class NotFoundError < self; end
17
17
  class LedgerValidationError < self; end
18
- class LedgerIDRequired < self
19
- def initialize(**keywords)
20
- super(
21
- {
22
- message: 'Resource ledger_id is required.'
23
- }.merge(keywords)
24
- )
25
- end
26
- end
27
-
28
18
  class PerformedOperationError < self
29
19
  def initialize(message: nil, operation:, response: nil)
30
20
  message ||= 'Operation has already been performed. Please check the result.'
@@ -64,7 +64,7 @@ module LedgerSync
64
64
  end
65
65
 
66
66
  def self.resource_module_str
67
- @resource_module_str ||= name.split('LedgerSync::')[1..-1].join('LedgerSync::')
67
+ @resource_module_str ||= name.split('::').last
68
68
  end
69
69
 
70
70
  def self.resource_type
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'account'
4
+ require_relative 'currency'
5
+ require_relative 'department'
6
+ require_relative 'vendor'
7
+ require_relative 'bill_payment_line_item'
8
+
9
+ module LedgerSync
10
+ class BillPayment < LedgerSync::Resource
11
+ attribute :amount, type: Type::Integer
12
+ attribute :memo, type: Type::String
13
+ attribute :transaction_date, type: Type::Date
14
+ attribute :exchange_rate, type: Type::Float
15
+ attribute :reference_number, type: Type::String
16
+ attribute :payment_type, type: Type::String
17
+
18
+ references_one :account, to: Account
19
+ references_one :currency, to: Currency
20
+ references_one :department, to: Department
21
+ references_one :vendor, to: Vendor
22
+
23
+ references_one :bank_account, to: Account
24
+ references_one :credit_card_account, to: Account
25
+
26
+ references_many :line_items, to: BillPaymentLineItem
27
+
28
+ def name
29
+ "Bill Payment: #{reference_number}"
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'bill'
4
+
5
+ module LedgerSync
6
+ class BillPaymentLineItem < LedgerSync::Resource
7
+ attribute :amount, type: Type::Integer
8
+
9
+ references_many :ledger_transactions, to: [Bill]
10
+
11
+ def name
12
+ amount
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ module Type
5
+ class Hash < Value # :nodoc:
6
+ include ValueMixin
7
+
8
+ def cast?
9
+ true
10
+ end
11
+
12
+ def changed_in_place?(raw_old_value, new_value)
13
+ raw_old_value != new_value if new_value.is_a?(::Hash)
14
+ end
15
+
16
+ def type
17
+ :id
18
+ end
19
+
20
+ def valid_classes
21
+ [::Hash]
22
+ end
23
+
24
+ private
25
+
26
+ def cast_value(value)
27
+ case value
28
+ when ::Hash then value.clone
29
+ else { value: valuev}
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LedgerSync
4
+ module Util
5
+ class ReadOnlyObject
6
+ attr_reader :raw
7
+
8
+ def initialize(args = {})
9
+ @raw = args.with_indifferent_access
10
+
11
+ self.class.attributes.except { |k, _| e.to_sym == :raw }.each do |name, attr_settings|
12
+ if attr_settings.key?(:default)
13
+ instance_variable_set(
14
+ "@#{name}",
15
+ raw.fetch(name, attr_settings[:default])
16
+ )
17
+ else
18
+ instance_variable_set(
19
+ "@#{name}",
20
+ raw.fetch(attr_settings.fetch(:source, name))
21
+ )
22
+ end
23
+ end
24
+ end
25
+
26
+ def ==(other)
27
+ self.class.attributes.keys.all? { |name| send(name) == other.send(name) }
28
+ end
29
+
30
+ def self.attributes
31
+ @attributes ||= {}
32
+ end
33
+
34
+ def self.attribute(name, **keywords)
35
+ attributes[name.to_sym] = keywords
36
+ attr_reader name
37
+ end
38
+
39
+ def self.new_from_array(data)
40
+ data.map { |e| new_from_hash(e) }
41
+ end
42
+
43
+ def self.new_from_hash(data)
44
+ new(
45
+ data.symbolize_keys
46
+ )
47
+ end
48
+
49
+ def self.source_keys
50
+ @source_keys ||= attributes.map { |k, v| v.fetch(:source, k).to_sym }
51
+ end
52
+ end
53
+ end
54
+ end
@@ -1,3 +1,3 @@
1
1
  module LedgerSync
2
- VERSION = '1.3.3'.freeze
2
+ VERSION = '1.3.4'.freeze
3
3
  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.3.3
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Jackson
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '13.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: '13.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -453,6 +453,12 @@ files:
453
453
  - lib/ledger_sync/adaptors/netsuite/customer/operations/delete.rb
454
454
  - lib/ledger_sync/adaptors/netsuite/customer/operations/find.rb
455
455
  - lib/ledger_sync/adaptors/netsuite/customer/operations/update.rb
456
+ - lib/ledger_sync/adaptors/netsuite/department/ledger_serializer.rb
457
+ - lib/ledger_sync/adaptors/netsuite/department/operations/create.rb
458
+ - lib/ledger_sync/adaptors/netsuite/department/operations/delete.rb
459
+ - lib/ledger_sync/adaptors/netsuite/department/operations/find.rb
460
+ - lib/ledger_sync/adaptors/netsuite/department/operations/update.rb
461
+ - lib/ledger_sync/adaptors/netsuite/department/searcher.rb
456
462
  - lib/ledger_sync/adaptors/netsuite/ledger_serializer.rb
457
463
  - lib/ledger_sync/adaptors/netsuite/ledger_serializer_type/reference_type.rb
458
464
  - lib/ledger_sync/adaptors/netsuite/ledger_serializer_type/subsidiary_type.rb
@@ -463,6 +469,7 @@ files:
463
469
  - lib/ledger_sync/adaptors/netsuite/operation/update.rb
464
470
  - lib/ledger_sync/adaptors/netsuite/record/http_method.rb
465
471
  - lib/ledger_sync/adaptors/netsuite/record/metadata.rb
472
+ - lib/ledger_sync/adaptors/netsuite/record/parameter.rb
466
473
  - lib/ledger_sync/adaptors/netsuite/record/property.rb
467
474
  - lib/ledger_sync/adaptors/netsuite/searcher.rb
468
475
  - lib/ledger_sync/adaptors/netsuite/token.rb
@@ -496,6 +503,11 @@ files:
496
503
  - lib/ledger_sync/adaptors/quickbooks_online/bill/operations/update.rb
497
504
  - lib/ledger_sync/adaptors/quickbooks_online/bill/searcher.rb
498
505
  - lib/ledger_sync/adaptors/quickbooks_online/bill_line_item/ledger_serializer.rb
506
+ - lib/ledger_sync/adaptors/quickbooks_online/bill_payment/ledger_serializer.rb
507
+ - lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/create.rb
508
+ - lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/find.rb
509
+ - lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/update.rb
510
+ - lib/ledger_sync/adaptors/quickbooks_online/bill_payment_line_item/ledger_serializer.rb
499
511
  - lib/ledger_sync/adaptors/quickbooks_online/config.rb
500
512
  - lib/ledger_sync/adaptors/quickbooks_online/currency/ledger_serializer.rb
501
513
  - lib/ledger_sync/adaptors/quickbooks_online/customer/ledger_serializer.rb
@@ -559,7 +571,10 @@ files:
559
571
  - lib/ledger_sync/adaptors/quickbooks_online/payment/operations/find.rb
560
572
  - lib/ledger_sync/adaptors/quickbooks_online/payment/operations/update.rb
561
573
  - lib/ledger_sync/adaptors/quickbooks_online/payment_line_item/ledger_serializer.rb
574
+ - lib/ledger_sync/adaptors/quickbooks_online/preferences/ledger_serializer.rb
575
+ - lib/ledger_sync/adaptors/quickbooks_online/preferences/operations/find.rb
562
576
  - lib/ledger_sync/adaptors/quickbooks_online/request.rb
577
+ - lib/ledger_sync/adaptors/quickbooks_online/resources/preferences.rb
563
578
  - lib/ledger_sync/adaptors/quickbooks_online/searcher.rb
564
579
  - lib/ledger_sync/adaptors/quickbooks_online/transfer/ledger_serializer.rb
565
580
  - lib/ledger_sync/adaptors/quickbooks_online/transfer/operations/create.rb
@@ -610,6 +625,8 @@ files:
610
625
  - lib/ledger_sync/resources/account.rb
611
626
  - lib/ledger_sync/resources/bill.rb
612
627
  - lib/ledger_sync/resources/bill_line_item.rb
628
+ - lib/ledger_sync/resources/bill_payment.rb
629
+ - lib/ledger_sync/resources/bill_payment_line_item.rb
613
630
  - lib/ledger_sync/resources/currency.rb
614
631
  - lib/ledger_sync/resources/customer.rb
615
632
  - lib/ledger_sync/resources/department.rb
@@ -632,6 +649,7 @@ files:
632
649
  - lib/ledger_sync/type/boolean.rb
633
650
  - lib/ledger_sync/type/date.rb
634
651
  - lib/ledger_sync/type/float.rb
652
+ - lib/ledger_sync/type/hash.rb
635
653
  - lib/ledger_sync/type/id.rb
636
654
  - lib/ledger_sync/type/integer.rb
637
655
  - lib/ledger_sync/type/reference_many.rb
@@ -641,38 +659,13 @@ files:
641
659
  - lib/ledger_sync/type/value_mixin.rb
642
660
  - lib/ledger_sync/util/hash_helpers.rb
643
661
  - lib/ledger_sync/util/performer.rb
662
+ - lib/ledger_sync/util/read_only_object.rb
644
663
  - lib/ledger_sync/util/resonad.rb
645
664
  - lib/ledger_sync/util/resources_builder.rb
646
665
  - lib/ledger_sync/util/signer.rb
647
666
  - lib/ledger_sync/util/string_helpers.rb
648
667
  - lib/ledger_sync/util/validator.rb
649
668
  - lib/ledger_sync/version.rb
650
- - qa/env_spec.rb
651
- - qa/netsuite/account_spec.rb
652
- - qa/netsuite/currency_spec.rb
653
- - qa/netsuite/customer.rb
654
- - qa/netsuite/customer_spec.rb
655
- - qa/netsuite/vendor.rb
656
- - qa/netsuite/vendor_spec.rb
657
- - qa/netsuite_soap/customer_spec.rb
658
- - qa/netsuite_soap/subsidiary_spec.rb
659
- - qa/qa_helper.rb
660
- - qa/quickbooks_online/account_spec.rb
661
- - qa/quickbooks_online/customer_spec.rb
662
- - qa/quickbooks_online/expense_spec.rb
663
- - qa/quickbooks_online/vendor_spec.rb
664
- - qa/stripe/customers_spec.rb
665
- - qa/support/adaptor_helpers.rb
666
- - qa/support/adaptor_support_setup.rb
667
- - qa/support/netsuite_helpers.rb
668
- - qa/support/netsuite_shared_examples.rb
669
- - qa/support/netsuite_soap_helpers.rb
670
- - qa/support/netsuite_soap_shared_examples.rb
671
- - qa/support/quickbooks_online_helpers.rb
672
- - qa/support/quickbooks_online_shared_examples.rb
673
- - qa/support/shared_examples.rb
674
- - qa/support/stripe_helpers.rb
675
- - qa/support/stripe_shared_examples.rb
676
669
  - release.sh
677
670
  homepage: https://github.com/LedgerSync/ledger_sync
678
671
  licenses:
@@ -694,7 +687,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
694
687
  version: '0'
695
688
  requirements: []
696
689
  rubyforge_project:
697
- rubygems_version: 2.7.6.2
690
+ rubygems_version: 2.7.7
698
691
  signing_key:
699
692
  specification_version: 4
700
693
  summary: Sync common objects to accounting software.