ledger_sync 1.4.2 → 1.4.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 (165) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +30 -0
  3. data/.travis.yml +6 -1
  4. data/Gemfile +2 -0
  5. data/Gemfile.lock +11 -5
  6. data/Rakefile +2 -0
  7. data/bin/console +1 -0
  8. data/bin/quickbooks_online_oauth_server.rb +5 -4
  9. data/documentation/generators/generator.rb +4 -4
  10. data/documentation/site/LICENSE.md +14 -14
  11. data/documentation/site/_includes/header.html +34 -34
  12. data/documentation/site/_includes/section_content.html +25 -30
  13. data/documentation/site/_includes/section_cta.html +20 -24
  14. data/documentation/site/_includes/section_grid.html +39 -54
  15. data/documentation/site/_includes/section_hero.html +19 -24
  16. data/documentation/site/_includes/submenu.html +6 -7
  17. data/documentation/site/_layouts/advanced.html +0 -1
  18. data/documentation/site/_layouts/guides.html +2 -2
  19. data/documentation/site/_layouts/page.html +2 -2
  20. data/documentation/site/_plugins/filters.rb +3 -3
  21. data/documentation/site/_templates/reference/resources/resource.md.erb +14 -0
  22. data/documentation/site/assets/js/plugins.js +1 -1
  23. data/documentation/site/guides/architecture/searchers.md +3 -3
  24. data/documentation/site/reference/netsuite/resources/account.md +6 -0
  25. data/documentation/site/reference/netsuite/resources/check.md +6 -0
  26. data/documentation/site/reference/netsuite/resources/check_line_item.md +4 -0
  27. data/documentation/site/reference/netsuite/resources/currency.md +4 -0
  28. data/documentation/site/reference/netsuite/resources/customer.md +6 -0
  29. data/documentation/site/reference/netsuite/resources/customer_deposit.md +6 -0
  30. data/documentation/site/reference/netsuite/resources/department.md +6 -0
  31. data/documentation/site/reference/netsuite/resources/deposit.md +4 -0
  32. data/documentation/site/reference/netsuite/resources/deposit_line_item.md +4 -0
  33. data/documentation/site/reference/netsuite/resources/invoice.md +4 -0
  34. data/documentation/site/reference/netsuite/resources/invoice_line_item.md +4 -0
  35. data/documentation/site/reference/netsuite/resources/item.md +4 -0
  36. data/documentation/site/reference/netsuite/resources/journal_entry.md +4 -0
  37. data/documentation/site/reference/netsuite/resources/journal_entry_line_item.md +4 -0
  38. data/documentation/site/reference/netsuite/resources/ledger_class.md +6 -0
  39. data/documentation/site/reference/netsuite/resources/location.md +6 -0
  40. data/documentation/site/reference/netsuite/resources/resource.md +4 -0
  41. data/documentation/site/reference/netsuite/resources/subsidiary.md +6 -0
  42. data/documentation/site/reference/netsuite/resources/vendor.md +6 -0
  43. data/documentation/site/reference/netsuite_soap/resources/customer.md +4 -0
  44. data/documentation/site/reference/netsuite_soap/resources/resource.md +4 -0
  45. data/documentation/site/reference/netsuite_soap/resources/subsidiary.md +4 -0
  46. data/documentation/site/reference/quickbooks_online/resources/account.md +6 -0
  47. data/documentation/site/reference/quickbooks_online/resources/bill.md +6 -0
  48. data/documentation/site/reference/quickbooks_online/resources/bill_line_item.md +4 -0
  49. data/documentation/site/reference/quickbooks_online/resources/bill_payment.md +4 -0
  50. data/documentation/site/reference/quickbooks_online/resources/bill_payment_line_item.md +4 -0
  51. data/documentation/site/reference/quickbooks_online/resources/currency.md +4 -0
  52. data/documentation/site/reference/quickbooks_online/resources/customer.md +6 -0
  53. data/documentation/site/reference/quickbooks_online/resources/department.md +6 -0
  54. data/documentation/site/reference/quickbooks_online/resources/deposit.md +6 -0
  55. data/documentation/site/reference/quickbooks_online/resources/deposit_line_item.md +4 -0
  56. data/documentation/site/reference/quickbooks_online/resources/expense.md +6 -0
  57. data/documentation/site/reference/quickbooks_online/resources/expense_line_item.md +4 -0
  58. data/documentation/site/reference/quickbooks_online/resources/invoice.md +4 -0
  59. data/documentation/site/reference/quickbooks_online/resources/invoice_sales_line_item.md +4 -0
  60. data/documentation/site/reference/quickbooks_online/resources/item.md +4 -0
  61. data/documentation/site/reference/quickbooks_online/resources/journal_entry.md +6 -0
  62. data/documentation/site/reference/quickbooks_online/resources/journal_entry_line_item.md +4 -0
  63. data/documentation/site/reference/quickbooks_online/resources/ledger_class.md +6 -0
  64. data/documentation/site/reference/quickbooks_online/resources/payment.md +4 -0
  65. data/documentation/site/reference/quickbooks_online/resources/payment_line_item.md +4 -0
  66. data/documentation/site/reference/quickbooks_online/resources/preferences.md +4 -0
  67. data/documentation/site/reference/quickbooks_online/resources/primary_email_addr.md +4 -0
  68. data/documentation/site/reference/quickbooks_online/resources/primary_phone.md +4 -0
  69. data/documentation/site/reference/quickbooks_online/resources/resource.md +4 -0
  70. data/documentation/site/reference/quickbooks_online/resources/subsidiary.md +4 -0
  71. data/documentation/site/reference/quickbooks_online/resources/transfer.md +4 -0
  72. data/documentation/site/reference/quickbooks_online/resources/vendor.md +6 -0
  73. data/documentation/site/reference/stripe/resources/customer.md +4 -0
  74. data/documentation/site/reference/stripe/resources/resource.md +4 -0
  75. data/ledger_sync.gemspec +3 -1
  76. data/lib/ledger_sync.rb +3 -1
  77. data/lib/ledger_sync/concerns/validatable.rb +2 -0
  78. data/lib/ledger_sync/error/operation_errors.rb +1 -1
  79. data/lib/ledger_sync/error/resource_errors.rb +3 -2
  80. data/lib/ledger_sync/ledger_configuration_store.rb +5 -1
  81. data/lib/ledger_sync/ledgers/client.rb +12 -4
  82. data/lib/ledger_sync/ledgers/mixins/infer_serializer_mixin.rb +3 -1
  83. data/lib/ledger_sync/ledgers/netsuite/account/operations/find.rb +1 -1
  84. data/lib/ledger_sync/ledgers/netsuite/client.rb +2 -2
  85. data/lib/ledger_sync/ledgers/netsuite/dashboard_url_helper.rb +1 -1
  86. data/lib/ledger_sync/ledgers/netsuite/error.rb +1 -0
  87. data/lib/ledger_sync/ledgers/netsuite/journal_entry_line_item/deserializer.rb +0 -3
  88. data/lib/ledger_sync/ledgers/netsuite/resources/account.rb +1 -2
  89. data/lib/ledger_sync/ledgers/netsuite/searcher.rb +3 -1
  90. data/lib/ledger_sync/ledgers/netsuite/token.rb +1 -1
  91. data/lib/ledger_sync/ledgers/netsuite/type/deserializer_entity_type.rb +6 -6
  92. data/lib/ledger_sync/ledgers/netsuite/vendor/operations/create.rb +1 -1
  93. data/lib/ledger_sync/ledgers/netsuite/vendor/operations/delete.rb +1 -1
  94. data/lib/ledger_sync/ledgers/netsuite/vendor/operations/find.rb +1 -1
  95. data/lib/ledger_sync/ledgers/netsuite/vendor/operations/update.rb +1 -1
  96. data/lib/ledger_sync/ledgers/netsuite_soap/client.rb +15 -21
  97. data/lib/ledger_sync/ledgers/netsuite_soap/customer/operations/create.rb +2 -0
  98. data/lib/ledger_sync/ledgers/operation.rb +5 -3
  99. data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/create.rb +2 -0
  100. data/lib/ledger_sync/ledgers/quickbooks_online/account/operations/find.rb +2 -0
  101. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/create.rb +2 -0
  102. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/find.rb +2 -0
  103. data/lib/ledger_sync/ledgers/quickbooks_online/bill/operations/update.rb +2 -0
  104. data/lib/ledger_sync/ledgers/quickbooks_online/client.rb +12 -4
  105. data/lib/ledger_sync/ledgers/quickbooks_online/customer/searcher.rb +2 -0
  106. data/lib/ledger_sync/ledgers/quickbooks_online/dashboard_url_helper.rb +22 -22
  107. data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/create.rb +2 -0
  108. data/lib/ledger_sync/ledgers/quickbooks_online/department/operations/find.rb +2 -0
  109. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/create.rb +2 -0
  110. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/operations/find.rb +2 -0
  111. data/lib/ledger_sync/ledgers/quickbooks_online/deposit/searcher.rb +1 -0
  112. data/lib/ledger_sync/ledgers/quickbooks_online/deserializer.rb +4 -2
  113. data/lib/ledger_sync/ledgers/quickbooks_online/expense/deserializer.rb +3 -2
  114. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/create.rb +2 -0
  115. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/find.rb +2 -0
  116. data/lib/ledger_sync/ledgers/quickbooks_online/expense/operations/update.rb +2 -0
  117. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/find.rb +2 -0
  118. data/lib/ledger_sync/ledgers/quickbooks_online/invoice/operations/update.rb +2 -0
  119. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/create.rb +2 -0
  120. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/find.rb +2 -0
  121. data/lib/ledger_sync/ledgers/quickbooks_online/journal_entry/operations/update.rb +2 -0
  122. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/deserializer.rb +0 -1
  123. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/create.rb +2 -0
  124. data/lib/ledger_sync/ledgers/quickbooks_online/ledger_class/operations/find.rb +2 -0
  125. data/lib/ledger_sync/ledgers/quickbooks_online/operation.rb +1 -1
  126. data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/find.rb +2 -0
  127. data/lib/ledger_sync/ledgers/quickbooks_online/payment/operations/update.rb +2 -0
  128. data/lib/ledger_sync/ledgers/quickbooks_online/resources/customer.rb +4 -0
  129. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/create.rb +2 -0
  130. data/lib/ledger_sync/ledgers/quickbooks_online/transfer/operations/find.rb +2 -0
  131. data/lib/ledger_sync/ledgers/quickbooks_online/util/error_matcher.rb +8 -5
  132. data/lib/ledger_sync/ledgers/quickbooks_online/util/ledger_error_parser.rb +3 -3
  133. data/lib/ledger_sync/ledgers/quickbooks_online/util/operation_error_parser.rb +2 -2
  134. data/lib/ledger_sync/ledgers/quickbooks_online/webhook_event.rb +3 -1
  135. data/lib/ledger_sync/ledgers/quickbooks_online/webhook_notification.rb +4 -3
  136. data/lib/ledger_sync/ledgers/response.rb +3 -1
  137. data/lib/ledger_sync/ledgers/stripe/client.rb +1 -1
  138. data/lib/ledger_sync/ledgers/stripe/dashboard_url_helper.rb +1 -1
  139. data/lib/ledger_sync/ledgers/stripe/operation/create.rb +0 -2
  140. data/lib/ledger_sync/ledgers/stripe/operation/delete.rb +0 -2
  141. data/lib/ledger_sync/ledgers/stripe/operation/update.rb +0 -2
  142. data/lib/ledger_sync/resource.rb +3 -1
  143. data/lib/ledger_sync/resource_attribute/dirty_mixin.rb +1 -1
  144. data/lib/ledger_sync/resource_attribute/mixin.rb +3 -3
  145. data/lib/ledger_sync/resource_attribute_set.rb +1 -1
  146. data/lib/ledger_sync/result.rb +7 -12
  147. data/lib/ledger_sync/serialization/deserializer_attribute.rb +6 -2
  148. data/lib/ledger_sync/serializer.rb +3 -1
  149. data/lib/ledger_sync/type/reference_one.rb +1 -1
  150. data/lib/ledger_sync/util/hash_helpers.rb +12 -2
  151. data/lib/ledger_sync/util/mixins/delegate_iterable_methods_mixin.rb +1 -0
  152. data/lib/ledger_sync/util/read_only_object.rb +1 -1
  153. data/lib/ledger_sync/util/resource_converter.rb +12 -8
  154. data/lib/ledger_sync/util/resource_converter/attribute.rb +3 -1
  155. data/lib/ledger_sync/util/resource_converter/attribute_set.rb +2 -1
  156. data/lib/ledger_sync/util/resources_builder.rb +5 -5
  157. data/lib/ledger_sync/version.rb +3 -1
  158. metadata +17 -10
  159. data/documentation/site/reference/architecture/clients.md +0 -33
  160. data/documentation/site/reference/architecture/index.md +0 -14
  161. data/documentation/site/reference/architecture/operations.md +0 -6
  162. data/documentation/site/reference/architecture/resources.md +0 -38
  163. data/documentation/site/reference/architecture/results.md +0 -6
  164. data/documentation/site/reference/architecture/searchers.md +0 -6
  165. data/documentation/site/reference/architecture/serialization.md +0 -6
@@ -41,3 +41,9 @@ layout: reference_quickbooks_online
41
41
 
42
42
  | Name | Type |
43
43
  | ---- | ---- |
44
+
45
+ ## Searchers
46
+
47
+ | Name |
48
+ | ---- |
49
+ | `LedgerSync::Ledgers::QuickBooksOnline::Deposit::Searcher` |
@@ -21,3 +21,7 @@ layout: reference_quickbooks_online
21
21
 
22
22
  ## Operations
23
23
 
24
+
25
+ ## Searchers
26
+
27
+ There are no searchers for this resource.
@@ -44,3 +44,9 @@ layout: reference_quickbooks_online
44
44
 
45
45
  | Name | Type |
46
46
  | ---- | ---- |
47
+
48
+ ## Searchers
49
+
50
+ | Name |
51
+ | ---- |
52
+ | `LedgerSync::Ledgers::QuickBooksOnline::Expense::Searcher` |
@@ -20,3 +20,7 @@ layout: reference_quickbooks_online
20
20
 
21
21
  ## Operations
22
22
 
23
+
24
+ ## Searchers
25
+
26
+ There are no searchers for this resource.
@@ -41,3 +41,7 @@ layout: reference_quickbooks_online
41
41
 
42
42
  | Name | Type |
43
43
  | ---- | ---- |
44
+
45
+ ## Searchers
46
+
47
+ There are no searchers for this resource.
@@ -20,3 +20,7 @@ layout: reference_quickbooks_online
20
20
 
21
21
  ## Operations
22
22
 
23
+
24
+ ## Searchers
25
+
26
+ There are no searchers for this resource.
@@ -17,3 +17,7 @@ layout: reference_quickbooks_online
17
17
 
18
18
  ## Operations
19
19
 
20
+
21
+ ## Searchers
22
+
23
+ There are no searchers for this resource.
@@ -39,3 +39,9 @@ layout: reference_quickbooks_online
39
39
 
40
40
  | Name | Type |
41
41
  | ---- | ---- |
42
+
43
+ ## Searchers
44
+
45
+ | Name |
46
+ | ---- |
47
+ | `LedgerSync::Ledgers::QuickBooksOnline::JournalEntry::Searcher` |
@@ -22,3 +22,7 @@ layout: reference_quickbooks_online
22
22
 
23
23
  ## Operations
24
24
 
25
+
26
+ ## Searchers
27
+
28
+ There are no searchers for this resource.
@@ -39,3 +39,9 @@ layout: reference_quickbooks_online
39
39
 
40
40
  | Name | Type |
41
41
  | ---- | ---- |
42
+
43
+ ## Searchers
44
+
45
+ | Name |
46
+ | ---- |
47
+ | `LedgerSync::Ledgers::QuickBooksOnline::LedgerClass::Searcher` |
@@ -44,3 +44,7 @@ layout: reference_quickbooks_online
44
44
 
45
45
  | Name | Type |
46
46
  | ---- | ---- |
47
+
48
+ ## Searchers
49
+
50
+ There are no searchers for this resource.
@@ -18,3 +18,7 @@ layout: reference_quickbooks_online
18
18
 
19
19
  ## Operations
20
20
 
21
+
22
+ ## Searchers
23
+
24
+ There are no searchers for this resource.
@@ -32,3 +32,7 @@ layout: reference_quickbooks_online
32
32
 
33
33
  | Name | Type |
34
34
  | ---- | ---- |
35
+
36
+ ## Searchers
37
+
38
+ There are no searchers for this resource.
@@ -17,3 +17,7 @@ layout: reference_quickbooks_online
17
17
 
18
18
  ## Operations
19
19
 
20
+
21
+ ## Searchers
22
+
23
+ There are no searchers for this resource.
@@ -17,3 +17,7 @@ layout: reference_quickbooks_online
17
17
 
18
18
  ## Operations
19
19
 
20
+
21
+ ## Searchers
22
+
23
+ There are no searchers for this resource.
@@ -16,3 +16,7 @@ layout: reference_quickbooks_online
16
16
 
17
17
  ## Operations
18
18
 
19
+
20
+ ## Searchers
21
+
22
+ There are no searchers for this resource.
@@ -18,3 +18,7 @@ layout: reference_quickbooks_online
18
18
 
19
19
  ## Operations
20
20
 
21
+
22
+ ## Searchers
23
+
24
+ There are no searchers for this resource.
@@ -40,3 +40,7 @@ layout: reference_quickbooks_online
40
40
 
41
41
  | Name | Type |
42
42
  | ---- | ---- |
43
+
44
+ ## Searchers
45
+
46
+ There are no searchers for this resource.
@@ -41,3 +41,9 @@ layout: reference_quickbooks_online
41
41
 
42
42
  | Name | Type |
43
43
  | ---- | ---- |
44
+
45
+ ## Searchers
46
+
47
+ | Name |
48
+ | ---- |
49
+ | `LedgerSync::Ledgers::QuickBooksOnline::Vendor::Searcher` |
@@ -43,3 +43,7 @@ layout: reference_stripe
43
43
 
44
44
  | Name | Type |
45
45
  | ---- | ---- |
46
+
47
+ ## Searchers
48
+
49
+ There are no searchers for this resource.
@@ -16,3 +16,7 @@ layout: reference_stripe
16
16
 
17
17
  ## Operations
18
18
 
19
+
20
+ ## Searchers
21
+
22
+ There are no searchers for this resource.
@@ -11,7 +11,8 @@ Gem::Specification.new do |spec|
11
11
  # spec.required_rubygems_version = Gem::Requirement.new('>= 0') if spec.respond_to? :required_rubygems_version=
12
12
  spec.authors = ['Ryan Jackson']
13
13
  spec.date = '2019-05-21'
14
- spec.description = 'LedgerSync is a simple library that allows you to sync common objects to popular accounting software like QuickBooks Online, Xero, NetSuite, etc.'
14
+ spec.description = 'LedgerSync is a simple library that allows you to sync common objects to popular accounting '\
15
+ 'software like QuickBooks Online, Xero, NetSuite, etc.'
15
16
  spec.email = ['ryanwjackson@gmail.com']
16
17
  spec.homepage = 'https://github.com/LedgerSync/ledger_sync'
17
18
  spec.licenses = ['MIT']
@@ -36,6 +37,7 @@ Gem::Specification.new do |spec|
36
37
  spec.add_development_dependency('jekyll-menus', '~> 0.6.0')
37
38
  spec.add_development_dependency('jekyll-paginate', '~> 1.1')
38
39
  spec.add_development_dependency('jekyll-paginate-v2', '~> 1.9')
40
+ spec.add_development_dependency('overcommit')
39
41
  spec.add_development_dependency('rake', '~> 13.0')
40
42
  spec.add_development_dependency('rspec', '~> 3.2')
41
43
  spec.add_development_dependency('rubocop', '>= 0')
@@ -90,7 +90,9 @@ module LedgerSync
90
90
  end
91
91
 
92
92
  def self.log_level=(val)
93
- raise ArgumentError, 'log_level should only be set to `nil`, `debug` or `info`' if !val.nil? && ![LEVEL_DEBUG, LEVEL_ERROR, LEVEL_INFO].include?(val)
93
+ if !val.nil? && ![LEVEL_DEBUG, LEVEL_ERROR, LEVEL_INFO].include?(val)
94
+ raise ArgumentError, 'log_level should only be set to `nil`, `debug` or `info`'
95
+ end
94
96
 
95
97
  @log_level = val
96
98
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LedgerSync
2
4
  module Validatable
3
5
  def valid?
@@ -31,7 +31,7 @@ module LedgerSync
31
31
  attr_reader :attribute,
32
32
  :validation
33
33
 
34
- def initialize(message:, attribute:, operation:, validation:, response:nil)
34
+ def initialize(message:, attribute:, operation:, validation:, response: nil)
35
35
  @attribute = attribute
36
36
  @validation = validation
37
37
 
@@ -22,7 +22,8 @@ module LedgerSync
22
22
  when LedgerSync::ResourceAttribute::Reference::Many
23
23
  invalid_classes = value.reject { |e| e.is_a?(type_resource_class) }.map(&:class)
24
24
  if type_resource_class.is_a?(Array)
25
- "an array of one or more of the following: #{type_resource_class.name}. Given array containing: #{invalid_classes.join(', ')}"
25
+ "an array of one or more of the following: #{type_resource_class.name}. Given array containing: "\
26
+ "#{invalid_classes.join(', ')}"
26
27
  else
27
28
  "an array of #{type_resource_class.name}. Given array containing: #{invalid_classes.join(', ')}"
28
29
  end
@@ -43,7 +44,7 @@ module LedgerSync
43
44
  else
44
45
  attribute.type.valid_classes
45
46
  end
46
- end
47
+ end
47
48
  end
48
49
  end
49
50
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LedgerSync
2
4
  class LedgerConfigurationStore
3
5
  include Enumerable
@@ -13,7 +15,9 @@ module LedgerSync
13
15
 
14
16
  def add_alias(client_key, existing_config)
15
17
  if respond_to?(client_key)
16
- raise LedgerSync::ConfigurationError, "Alias already taken: #{client_key}" if send(client_key) != existing_config
18
+ if send(client_key) != existing_config
19
+ raise LedgerSync::ConfigurationError, "Alias already taken: #{client_key}"
20
+ end
17
21
 
18
22
  return
19
23
  end
@@ -45,12 +45,12 @@ module LedgerSync
45
45
  )
46
46
  end
47
47
 
48
- def searcher_for(resource_type:, query: '')
49
- searcher_class_for(resource_type: resource_type).new(client: self, query: query)
48
+ def searcher_for(*args)
49
+ self.class.searcher_for(*args)
50
50
  end
51
51
 
52
- def searcher_class_for(resource_type:)
53
- base_module.const_get(LedgerSync::Util::StringHelpers.camelcase(resource_type.to_s))::Searcher
52
+ def searcher_class_for(*args)
53
+ self.class.searcher_class_for(*args)
54
54
  end
55
55
 
56
56
  def url_for(*_args)
@@ -106,6 +106,14 @@ module LedgerSync
106
106
  @root_key ||= config.root_key
107
107
  end
108
108
 
109
+ def self.searcher_for(resource_type:, query: '')
110
+ searcher_class_for(resource_type: resource_type).new(client: self, query: query)
111
+ end
112
+
113
+ def self.searcher_class_for(resource_type:)
114
+ base_module.const_get(LedgerSync::Util::StringHelpers.camelcase(resource_type.to_s))::Searcher
115
+ end
116
+
109
117
  def self.url_for(resource: nil); end
110
118
  end
111
119
  end
@@ -25,7 +25,9 @@ module LedgerSync
25
25
  end
26
26
 
27
27
  def inferred_searcher_deserializer_class_name
28
- @inferred_searcher_deserializer_class_name ||= "#{inferred_resource_class.resource_module_str}::SearcherDeserializer"
28
+ @inferred_searcher_deserializer_class_name ||= begin
29
+ "#{inferred_resource_class.resource_module_str}::SearcherDeserializer"
30
+ end
29
31
  end
30
32
 
31
33
  def inferred_serializer_class
@@ -3,7 +3,7 @@
3
3
  module LedgerSync
4
4
  module Ledgers
5
5
  module NetSuite
6
- class Account
6
+ class Account
7
7
  module Operations
8
8
  class Find < NetSuite::Operation::Find
9
9
  class Contract < LedgerSync::Ledgers::Contract
@@ -37,7 +37,7 @@ module LedgerSync
37
37
  end
38
38
 
39
39
  def account_id_for_oauth
40
- account_id.gsub(/\-/, '_').upcase
40
+ account_id.gsub(/-/, '_').upcase
41
41
  end
42
42
 
43
43
  def account_id_for_url
@@ -64,7 +64,7 @@ module LedgerSync
64
64
  resource = args.fetch(:resource, nil)
65
65
  params = args.fetch(:params, {})
66
66
 
67
- ret = self.class.ledger_resource_type_for(resource_class: resource.class) # This can be turned into a case statement if we need to override
67
+ ret = self.class.ledger_resource_type_for(resource_class: resource.class)
68
68
  ret += "/#{resource.ledger_id}" if resource.ledger_id.present? && args.fetch(:id, true)
69
69
  Util::URLHelpers.merge_params_in_path(
70
70
  path: ret,
@@ -4,7 +4,7 @@ module LedgerSync
4
4
  module Ledgers
5
5
  module NetSuite
6
6
  class DashboardURLHelper < LedgerSync::Ledgers::DashboardURLHelper
7
- def resource_path
7
+ def resource_path # rubocop:disable Metrics/CyclomaticComplexity
8
8
  @resource_path = case resource
9
9
  when NetSuite::Account
10
10
  "/app/accounting/account/account.nl?id=#{resource.ledger_id}"
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module LedgerSync
3
4
  module Ledgers
4
5
  module NetSuite
@@ -1,6 +1,3 @@
1
-
2
-
3
-
4
1
  # frozen_string_literal: true
5
2
 
6
3
  require_relative '../account/deserializer'
@@ -6,8 +6,7 @@ module LedgerSync
6
6
  module Ledgers
7
7
  module NetSuite
8
8
  class Account < NetSuite::Resource
9
-
10
- TYPES = {
9
+ TYPES = {
11
10
  'bank' => 'Bank',
12
11
  'other_current_assets' => 'OthCurrAsset',
13
12
  'fixed_asset' => 'FixedAsset',
@@ -42,7 +42,9 @@ module LedgerSync
42
42
  when 404
43
43
  []
44
44
  when 400
45
- if request.body["title"].include? "Invalid search query Search error occurred: Record ‘subsidiary’ was not found"
45
+ if request.body['title'].include?(
46
+ 'Invalid search query Search error occurred: Record ‘subsidiary’ was not found'
47
+ )
46
48
  raise LedgerSync::Ledgers::NetSuite::Error::SubsidiariesNotEnabled
47
49
  end
48
50
  end
@@ -141,7 +141,7 @@ module LedgerSync
141
141
  def url_params
142
142
  return {} if uri.query.nil?
143
143
 
144
- @url_params ||= Hash[CGI.parse(uri.query).map { |k, v| [k, v.first] }]
144
+ @url_params ||= CGI.parse(uri.query).transform_values(&:first)
145
145
  end
146
146
 
147
147
  def url_without_params
@@ -10,12 +10,12 @@ module LedgerSync
10
10
  def cast_value(args = {})
11
11
  value = args.fetch(:value)
12
12
 
13
- unless value.nil?
14
- resource = (value.fetch("links").first.fetch("href").include? "vendor") ? Vendor : Customer
15
- resource.new(
16
- ledger_id: value['id']
17
- )
18
- end
13
+ return if value.nil?
14
+
15
+ resource = value.fetch('links').first.fetch('href').include?('vendor') ? Vendor : Customer
16
+ resource.new(
17
+ ledger_id: value['id']
18
+ )
19
19
  end
20
20
 
21
21
  def valid_classes
@@ -3,7 +3,7 @@
3
3
  module LedgerSync
4
4
  module Ledgers
5
5
  module NetSuite
6
- class Vendor
6
+ class Vendor
7
7
  module Operations
8
8
  class Create < NetSuite::Operation::Create
9
9
  class Contract < LedgerSync::Ledgers::Contract
@@ -3,7 +3,7 @@
3
3
  module LedgerSync
4
4
  module Ledgers
5
5
  module NetSuite
6
- class Vendor
6
+ class Vendor
7
7
  module Operations
8
8
  class Delete < NetSuite::Operation::Delete
9
9
  class Contract < LedgerSync::Ledgers::Contract