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