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.
- checksums.yaml +4 -4
- data/.gitignore +3 -1
- data/.rubocop_todo.yml +0 -3
- data/Gemfile.lock +47 -44
- data/ledger_sync.gemspec +1 -1
- data/lib/ledger_sync.rb +5 -0
- data/lib/ledger_sync/adaptors/adaptor.rb +28 -0
- data/lib/ledger_sync/adaptors/netsuite/account/operations/create.rb +1 -1
- data/lib/ledger_sync/adaptors/netsuite/account/searcher.rb +0 -16
- data/lib/ledger_sync/adaptors/netsuite/adaptor.rb +11 -3
- data/lib/ledger_sync/adaptors/netsuite/currency/operations/create.rb +1 -1
- data/lib/ledger_sync/adaptors/netsuite/customer/operations/create.rb +1 -1
- data/lib/ledger_sync/adaptors/netsuite/department/ledger_serializer.rb +17 -0
- data/lib/ledger_sync/adaptors/netsuite/department/operations/create.rb +25 -0
- data/lib/ledger_sync/adaptors/netsuite/department/operations/delete.rb +25 -0
- data/lib/ledger_sync/adaptors/netsuite/department/operations/find.rb +25 -0
- data/lib/ledger_sync/adaptors/netsuite/department/operations/update.rb +25 -0
- data/lib/ledger_sync/adaptors/netsuite/department/searcher.rb +12 -0
- data/lib/ledger_sync/adaptors/netsuite/ledger_serializer.rb +1 -1
- data/lib/ledger_sync/adaptors/netsuite/record/http_method.rb +14 -19
- data/lib/ledger_sync/adaptors/netsuite/record/metadata.rb +47 -21
- data/lib/ledger_sync/adaptors/netsuite/record/parameter.rb +20 -0
- data/lib/ledger_sync/adaptors/netsuite/record/property.rb +8 -31
- data/lib/ledger_sync/adaptors/netsuite/searcher.rb +19 -0
- data/lib/ledger_sync/adaptors/netsuite/vendor/operations/create.rb +1 -1
- data/lib/ledger_sync/adaptors/quickbooks_online/adaptor.rb +6 -11
- data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment/ledger_serializer.rb +76 -0
- data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/create.rb +33 -0
- data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/find.rb +33 -0
- data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment/operations/update.rb +33 -0
- data/lib/ledger_sync/adaptors/quickbooks_online/bill_payment_line_item/ledger_serializer.rb +19 -0
- data/lib/ledger_sync/adaptors/quickbooks_online/operation.rb +1 -1
- data/lib/ledger_sync/adaptors/quickbooks_online/operation/find.rb +0 -6
- data/lib/ledger_sync/adaptors/quickbooks_online/preferences/ledger_serializer.rb +45 -0
- data/lib/ledger_sync/adaptors/quickbooks_online/preferences/operations/find.rb +38 -0
- data/lib/ledger_sync/adaptors/quickbooks_online/resources/preferences.rb +24 -0
- data/lib/ledger_sync/adaptors/searcher.rb +4 -0
- data/lib/ledger_sync/error/operation_errors.rb +0 -10
- data/lib/ledger_sync/resource.rb +1 -1
- data/lib/ledger_sync/resources/bill_payment.rb +32 -0
- data/lib/ledger_sync/resources/bill_payment_line_item.rb +15 -0
- data/lib/ledger_sync/type/hash.rb +34 -0
- data/lib/ledger_sync/util/read_only_object.rb +54 -0
- data/lib/ledger_sync/version.rb +1 -1
- metadata +23 -30
- data/qa/env_spec.rb +0 -5
- data/qa/netsuite/account_spec.rb +0 -20
- data/qa/netsuite/currency_spec.rb +0 -16
- data/qa/netsuite/customer.rb +0 -76
- data/qa/netsuite/customer_spec.rb +0 -21
- data/qa/netsuite/vendor.rb +0 -76
- data/qa/netsuite/vendor_spec.rb +0 -23
- data/qa/netsuite_soap/customer_spec.rb +0 -21
- data/qa/netsuite_soap/subsidiary_spec.rb +0 -0
- data/qa/qa_helper.rb +0 -58
- data/qa/quickbooks_online/account_spec.rb +0 -14
- data/qa/quickbooks_online/customer_spec.rb +0 -13
- data/qa/quickbooks_online/expense_spec.rb +0 -31
- data/qa/quickbooks_online/vendor_spec.rb +0 -13
- data/qa/stripe/customers_spec.rb +0 -15
- data/qa/support/adaptor_helpers.rb +0 -99
- data/qa/support/adaptor_support_setup.rb +0 -23
- data/qa/support/netsuite_helpers.rb +0 -33
- data/qa/support/netsuite_shared_examples.rb +0 -30
- data/qa/support/netsuite_soap_helpers.rb +0 -33
- data/qa/support/netsuite_soap_shared_examples.rb +0 -10
- data/qa/support/quickbooks_online_helpers.rb +0 -42
- data/qa/support/quickbooks_online_shared_examples.rb +0 -82
- data/qa/support/shared_examples.rb +0 -127
- data/qa/support/stripe_helpers.rb +0 -22
- data/qa/support/stripe_shared_examples.rb +0 -10
data/qa/env_spec.rb
DELETED
data/qa/netsuite/account_spec.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::NetSuite::Account, adaptor: :netsuite do
|
4
|
-
let(:adaptor) { netsuite_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
name: "QA UPDATE #{test_run_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:record) { :customer }
|
11
|
-
let(:resource) do
|
12
|
-
LedgerSync::Account.new(
|
13
|
-
name: "Test Account #{test_run_id}"
|
14
|
-
)
|
15
|
-
end
|
16
|
-
|
17
|
-
# it_behaves_like 'a full netsuite resource'
|
18
|
-
it_behaves_like 'a record with metadata'
|
19
|
-
it_behaves_like 'a find'
|
20
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::NetSuite::Currency, adaptor: :netsuite do
|
4
|
-
let(:adaptor) { netsuite_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
name: "QA UPDATE #{test_run_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:record) { :currency }
|
11
|
-
let(:resource) do
|
12
|
-
FactoryBot.create(:currency)
|
13
|
-
end
|
14
|
-
|
15
|
-
it_behaves_like 'a full netsuite resource'
|
16
|
-
end
|
data/qa/netsuite/customer.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module QA
|
4
|
-
module NetSuite
|
5
|
-
module Customer
|
6
|
-
def customer_create
|
7
|
-
perform(
|
8
|
-
LedgerSync::Adaptors::NetSuite::Customer::Operations::Create.new(
|
9
|
-
adaptor: adaptor,
|
10
|
-
resource: new_customer(
|
11
|
-
subsidiary: existing_netsuite_subsidiary
|
12
|
-
)
|
13
|
-
)
|
14
|
-
)
|
15
|
-
end
|
16
|
-
|
17
|
-
def customer_delete(customer:)
|
18
|
-
perform(
|
19
|
-
LedgerSync::Adaptors::NetSuite::Customer::Operations::Delete.new(
|
20
|
-
adaptor: adaptor,
|
21
|
-
resource: customer
|
22
|
-
)
|
23
|
-
)
|
24
|
-
end
|
25
|
-
|
26
|
-
def customer_delete_nonexisting(customer:)
|
27
|
-
result = LedgerSync::Adaptors::NetSuite::Customer::Operations::Delete.new(
|
28
|
-
adaptor: adaptor,
|
29
|
-
resource: customer
|
30
|
-
).perform
|
31
|
-
|
32
|
-
unless result.failure?
|
33
|
-
pd 'Should be failure'
|
34
|
-
byebug
|
35
|
-
end
|
36
|
-
|
37
|
-
LedgerSync::Result.Success
|
38
|
-
end
|
39
|
-
|
40
|
-
def customer_find(customer:)
|
41
|
-
perform(
|
42
|
-
LedgerSync::Adaptors::NetSuite::Customer::Operations::Find.new(
|
43
|
-
adaptor: adaptor,
|
44
|
-
resource: customer
|
45
|
-
)
|
46
|
-
)
|
47
|
-
end
|
48
|
-
|
49
|
-
def customer_update(customer:)
|
50
|
-
name = "QA UPDATE #{test_run_id}"
|
51
|
-
customer.name = name
|
52
|
-
|
53
|
-
result = perform(
|
54
|
-
LedgerSync::Adaptors::NetSuite::Customer::Operations::Update.new(
|
55
|
-
adaptor: adaptor,
|
56
|
-
resource: customer
|
57
|
-
)
|
58
|
-
)
|
59
|
-
|
60
|
-
byebug if result.resource.name != name
|
61
|
-
result
|
62
|
-
end
|
63
|
-
|
64
|
-
def schema_customer
|
65
|
-
schema = adaptor.base_module::Record::Metadata.new(
|
66
|
-
adaptor: adaptor,
|
67
|
-
record: :customer
|
68
|
-
)
|
69
|
-
|
70
|
-
# byebug unless schema['items'].count == 1
|
71
|
-
|
72
|
-
LedgerSync::Result.Success(schema)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::NetSuite::Customer, adaptor: :netsuite do
|
4
|
-
let(:adaptor) { netsuite_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
name: "QA UPDATE #{test_run_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:record) { :customer }
|
11
|
-
let(:resource) do
|
12
|
-
LedgerSync::Customer.new(
|
13
|
-
email: "#{test_run_id}@example.com",
|
14
|
-
name: "Test Customer #{test_run_id}",
|
15
|
-
phone_number: '1234567890',
|
16
|
-
subsidiary: existing_subsidiary_resource
|
17
|
-
)
|
18
|
-
end
|
19
|
-
|
20
|
-
it_behaves_like 'a full netsuite resource'
|
21
|
-
end
|
data/qa/netsuite/vendor.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module QA
|
4
|
-
module NetSuite
|
5
|
-
module Vendor
|
6
|
-
def vendor_create
|
7
|
-
perform(
|
8
|
-
LedgerSync::Adaptors::NetSuite::Vendor::Operations::Create.new(
|
9
|
-
adaptor: adaptor,
|
10
|
-
resource: new_vendor(
|
11
|
-
subsidiary: existing_netsuite_subsidiary
|
12
|
-
)
|
13
|
-
)
|
14
|
-
)
|
15
|
-
end
|
16
|
-
|
17
|
-
def vendor_delete(vendor:)
|
18
|
-
perform(
|
19
|
-
LedgerSync::Adaptors::NetSuite::Vendor::Operations::Delete.new(
|
20
|
-
adaptor: adaptor,
|
21
|
-
resource: vendor
|
22
|
-
)
|
23
|
-
)
|
24
|
-
end
|
25
|
-
|
26
|
-
def vendor_delete_nonexisting(vendor:)
|
27
|
-
result = LedgerSync::Adaptors::NetSuite::Vendor::Operations::Delete.new(
|
28
|
-
adaptor: adaptor,
|
29
|
-
resource: vendor
|
30
|
-
).perform
|
31
|
-
|
32
|
-
unless result.failure?
|
33
|
-
pd 'Should be failure'
|
34
|
-
byebug
|
35
|
-
end
|
36
|
-
|
37
|
-
LedgerSync::Result.Success
|
38
|
-
end
|
39
|
-
|
40
|
-
def vendor_find(vendor:)
|
41
|
-
perform(
|
42
|
-
LedgerSync::Adaptors::NetSuite::Vendor::Operations::Find.new(
|
43
|
-
adaptor: adaptor,
|
44
|
-
resource: vendor
|
45
|
-
)
|
46
|
-
)
|
47
|
-
end
|
48
|
-
|
49
|
-
def vendor_update(vendor:)
|
50
|
-
name = "QA UPDATE #{test_run_id}"
|
51
|
-
vendor.company_name = name
|
52
|
-
|
53
|
-
result = perform(
|
54
|
-
LedgerSync::Adaptors::NetSuite::Vendor::Operations::Update.new(
|
55
|
-
adaptor: adaptor,
|
56
|
-
resource: vendor
|
57
|
-
)
|
58
|
-
)
|
59
|
-
|
60
|
-
byebug if result.resource.company_name != name
|
61
|
-
result
|
62
|
-
end
|
63
|
-
|
64
|
-
def schema_vendor
|
65
|
-
schema = adaptor.base_module::Record::Metadata.new(
|
66
|
-
adaptor: adaptor,
|
67
|
-
record: :vendor
|
68
|
-
)
|
69
|
-
|
70
|
-
# byebug unless schema['items'].count == 1
|
71
|
-
|
72
|
-
LedgerSync::Result.Success(schema)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
data/qa/netsuite/vendor_spec.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::NetSuite::Vendor, adaptor: :netsuite do
|
4
|
-
let(:adaptor) { netsuite_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
company_name: "QA UPDATE #{test_run_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:record) { :vendor }
|
11
|
-
let(:resource) do
|
12
|
-
LedgerSync::Vendor.new(
|
13
|
-
company_name: "#{test_run_id} Company",
|
14
|
-
email: "test-#{test_run_id}-vendor@example.com",
|
15
|
-
first_name: "TestFirst#{test_run_id}",
|
16
|
-
last_name: "TestLast#{test_run_id}",
|
17
|
-
display_name: "Test #{test_run_id} Display Name",
|
18
|
-
subsidiary: existing_subsidiary_resource
|
19
|
-
)
|
20
|
-
end
|
21
|
-
|
22
|
-
it_behaves_like 'a full netsuite resource'
|
23
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::NetSuiteSOAP::Customer, adaptor: :netsuite_soap do
|
4
|
-
let(:adaptor) { netsuite_soap_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
name: "QA UPDATE #{rand_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:record) { :customer }
|
11
|
-
let(:resource) do
|
12
|
-
LedgerSync::Customer.new(
|
13
|
-
email: "#{rand_id}@example.com",
|
14
|
-
name: "Test Customer #{rand_id}",
|
15
|
-
phone_number: '1234567890',
|
16
|
-
subsidiary: existing_subsidiary_resource
|
17
|
-
)
|
18
|
-
end
|
19
|
-
|
20
|
-
it_behaves_like 'a full netsuite soap resource'
|
21
|
-
end
|
File without changes
|
data/qa/qa_helper.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Set an environment variable to determine when we are running QA tests.
|
4
|
-
ENV['QA_ENV'] = 'true'
|
5
|
-
|
6
|
-
require 'bundler/setup'
|
7
|
-
require 'ap'
|
8
|
-
require 'byebug'
|
9
|
-
require 'ledger_sync'
|
10
|
-
|
11
|
-
#
|
12
|
-
# Helper method for requiring support files
|
13
|
-
#
|
14
|
-
# @param [String] *paths List of strings or symbols
|
15
|
-
#
|
16
|
-
# @return [Boolean]
|
17
|
-
#
|
18
|
-
def support(*paths)
|
19
|
-
paths.each do |path|
|
20
|
-
require File.join(LedgerSync.root, 'qa/support/', path.to_s)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
#
|
25
|
-
# Helper method for requiring support files from /spec/support dir
|
26
|
-
#
|
27
|
-
# @param [String] *paths List of strings or symbols
|
28
|
-
#
|
29
|
-
# @return [Boolean]
|
30
|
-
#
|
31
|
-
def spec_support(*paths)
|
32
|
-
paths.each do |path|
|
33
|
-
require File.join(LedgerSync.root, 'spec/support/', path.to_s)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
spec_support :factory_bot
|
38
|
-
|
39
|
-
support :adaptor_support_setup
|
40
|
-
|
41
|
-
setup_adaptor_support(
|
42
|
-
LedgerSync::Adaptors::NetSuite::Adaptor,
|
43
|
-
LedgerSync::Adaptors::NetSuiteSOAP::Adaptor,
|
44
|
-
LedgerSync::Adaptors::QuickBooksOnline::Adaptor,
|
45
|
-
LedgerSync::Adaptors::Stripe::Adaptor
|
46
|
-
)
|
47
|
-
|
48
|
-
RSpec.configure do |config|
|
49
|
-
# Enable flags like --only-failures and --next-failure
|
50
|
-
config.example_status_persistence_file_path = 'tmp/qa_history.txt'
|
51
|
-
|
52
|
-
# Disable RSpec exposing methods globally on `Module` and `main`
|
53
|
-
config.disable_monkey_patching!
|
54
|
-
|
55
|
-
config.expect_with :rspec do |c|
|
56
|
-
c.syntax = :expect
|
57
|
-
end
|
58
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::QuickBooksOnline::Account, adaptor: :quickbooks_online do
|
4
|
-
let(:adaptor) { quickbooks_online_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
name: "QA UPDATE #{test_run_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:record) { :account }
|
11
|
-
let(:resource) { FactoryBot.create(:account) }
|
12
|
-
|
13
|
-
it_behaves_like 'a standard quickbooks_online resource'
|
14
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::QuickBooksOnline::Customer, adaptor: :quickbooks_online do
|
4
|
-
let(:adaptor) { quickbooks_online_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
name: "QA UPDATE #{rand_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:resource) { FactoryBot.create(:customer) }
|
11
|
-
|
12
|
-
it_behaves_like 'a standard quickbooks_online resource'
|
13
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::QuickBooksOnline::Expense, adaptor: :quickbooks_online do
|
4
|
-
let(:adaptor) { quickbooks_online_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
memo: "QA UPDATE #{rand_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
|
11
|
-
let(:account) do
|
12
|
-
create_resource_for(
|
13
|
-
adaptor: adaptor,
|
14
|
-
resource: FactoryBot.create(:account)
|
15
|
-
)
|
16
|
-
end
|
17
|
-
|
18
|
-
let(:resource) do
|
19
|
-
FactoryBot.create(
|
20
|
-
:expense,
|
21
|
-
account: account,
|
22
|
-
line_items: FactoryBot.create_list(
|
23
|
-
:expense_line_item,
|
24
|
-
2,
|
25
|
-
account: account
|
26
|
-
)
|
27
|
-
)
|
28
|
-
end
|
29
|
-
|
30
|
-
it_behaves_like 'a standard quickbooks_online resource'
|
31
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::QuickBooksOnline::Vendor, adaptor: :quickbooks_online do
|
4
|
-
let(:adaptor) { quickbooks_online_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
display_name: "QA UPDATE #{rand_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:resource) { FactoryBot.create(:vendor) }
|
11
|
-
|
12
|
-
it_behaves_like 'a standard quickbooks_online resource'
|
13
|
-
end
|
data/qa/stripe/customers_spec.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe LedgerSync::Adaptors::Stripe::Customer, adaptor: :stripe do
|
4
|
-
let(:adaptor) { stripe_adaptor }
|
5
|
-
let(:attribute_updates) do
|
6
|
-
{
|
7
|
-
name: "QA UPDATE #{rand_id}"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:resource) do
|
11
|
-
FactoryBot.create(:customer)
|
12
|
-
end
|
13
|
-
|
14
|
-
it_behaves_like 'a full stripe resource'
|
15
|
-
end
|
@@ -1,99 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module AdaptorHelpers
|
4
|
-
def adaptor_class
|
5
|
-
raise NotImplementedError
|
6
|
-
end
|
7
|
-
|
8
|
-
def create_operation_for(resource_class:)
|
9
|
-
operation_for(
|
10
|
-
method: :create,
|
11
|
-
resource: resource_class
|
12
|
-
)
|
13
|
-
end
|
14
|
-
|
15
|
-
def create_resource_for(*args)
|
16
|
-
create_result_for(*args).raise_if_error.resource
|
17
|
-
end
|
18
|
-
|
19
|
-
def create_result_for(adaptor:, resource:)
|
20
|
-
result_for(
|
21
|
-
adaptor: adaptor,
|
22
|
-
method: :create,
|
23
|
-
resource: resource
|
24
|
-
)
|
25
|
-
end
|
26
|
-
|
27
|
-
def delete_operation_for(resource_class:)
|
28
|
-
operation_for(
|
29
|
-
method: :delete,
|
30
|
-
resource: resource_class
|
31
|
-
)
|
32
|
-
end
|
33
|
-
|
34
|
-
def delete_resource_for(*args)
|
35
|
-
delete_result_for(*args).raise_if_error.resource
|
36
|
-
end
|
37
|
-
|
38
|
-
def delete_result_for(adaptor:, resource:)
|
39
|
-
result_for(
|
40
|
-
adaptor: adaptor,
|
41
|
-
method: :delete,
|
42
|
-
resource: resource
|
43
|
-
)
|
44
|
-
end
|
45
|
-
|
46
|
-
def find_operation_for(resource_class:)
|
47
|
-
operation_for(
|
48
|
-
method: :find,
|
49
|
-
resource: resource_class
|
50
|
-
)
|
51
|
-
end
|
52
|
-
|
53
|
-
def find_resource_for(*args)
|
54
|
-
find_result_for(*args).raise_if_error.resource
|
55
|
-
end
|
56
|
-
|
57
|
-
def find_result_for(adaptor:, resource:)
|
58
|
-
result_for(
|
59
|
-
adaptor: adaptor,
|
60
|
-
method: :find,
|
61
|
-
resource: resource
|
62
|
-
)
|
63
|
-
end
|
64
|
-
|
65
|
-
def operation_for(method:, resource_class:)
|
66
|
-
adaptor_class
|
67
|
-
.base_operation_module_for(resource_class: resource_class)
|
68
|
-
.const_get(LedgerSync::Util::StringHelpers.camelcase(method.to_s))
|
69
|
-
end
|
70
|
-
|
71
|
-
def result_for(adaptor:, method:, resource:)
|
72
|
-
operation_for(
|
73
|
-
method: method,
|
74
|
-
resource_class: resource.class
|
75
|
-
).new(
|
76
|
-
adaptor: adaptor,
|
77
|
-
resource: resource
|
78
|
-
).perform
|
79
|
-
end
|
80
|
-
|
81
|
-
def update_operation_for(resource_class:)
|
82
|
-
operation_for(
|
83
|
-
method: :update,
|
84
|
-
resource: resource_class
|
85
|
-
)
|
86
|
-
end
|
87
|
-
|
88
|
-
def update_resource_for(*args)
|
89
|
-
update_result_for(*args).raise_if_error.resource
|
90
|
-
end
|
91
|
-
|
92
|
-
def update_result_for(adaptor:, resource:)
|
93
|
-
result_for(
|
94
|
-
adaptor: adaptor,
|
95
|
-
method: :update,
|
96
|
-
resource: resource
|
97
|
-
)
|
98
|
-
end
|
99
|
-
end
|