rock_rms 5.5.0 → 5.8.1
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 +5 -5
- data/.ruby-version +1 -1
- data/lib/rock_rms/client.rb +2 -0
- data/lib/rock_rms/resources/history.rb +10 -0
- data/lib/rock_rms/resources/recurring_donation.rb +4 -0
- data/lib/rock_rms/resources/recurring_donation_detail.rb +21 -0
- data/lib/rock_rms/resources/refund.rb +3 -1
- data/lib/rock_rms/resources/service_job.rb +18 -0
- data/lib/rock_rms/response/batch.rb +2 -1
- data/lib/rock_rms/response/history.rb +19 -0
- data/lib/rock_rms/response/service_job.rb +17 -0
- data/lib/rock_rms/version.rb +1 -1
- data/spec/rock_rms/resources/recurring_donation_detail_spec.rb +59 -0
- data/spec/rock_rms/resources/refund_spec.rb +2 -3
- data/spec/support/fixtures/create_recurring_donation_detail.json +1 -0
- data/spec/support/rock_mock.rb +3 -1
- metadata +8 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 34896162e890a03db10a4ef10642e0298883771c1c6a1cb777b6f6ad93291d36
|
|
4
|
+
data.tar.gz: be8aa505b592f9ad84c5e1971ab4603245a7f73d806d904cb49a1619de1f500d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 184a910aeba39be386485333cd43ae609df78f9d450ea6f4323aa6ed2fc73c6f592f466195d71e998c560b3376e84cf545d7d3dd2a4247320a5ea380eafc34a8
|
|
7
|
+
data.tar.gz: 4246160d0c4f2217a8178e1857edaab97e7fe777f6d10c340360e5dfe3fd0908d5de7f45c93e4db9b3bfb50da5c431b378f65d02055970d0b0f7e33f5fd3345a
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.7.2
|
data/lib/rock_rms/client.rb
CHANGED
|
@@ -22,6 +22,7 @@ module RockRMS
|
|
|
22
22
|
include RockRMS::Client::Gateway
|
|
23
23
|
include RockRMS::Client::Group
|
|
24
24
|
include RockRMS::Client::GroupMember
|
|
25
|
+
include RockRMS::Client::History
|
|
25
26
|
include RockRMS::Client::Page
|
|
26
27
|
include RockRMS::Client::PaymentDetail
|
|
27
28
|
include RockRMS::Client::Person
|
|
@@ -31,6 +32,7 @@ module RockRMS
|
|
|
31
32
|
include RockRMS::Client::Refund
|
|
32
33
|
include RockRMS::Client::RefundReason
|
|
33
34
|
include RockRMS::Client::SavedPaymentMethod
|
|
35
|
+
include RockRMS::Client::ServiceJob
|
|
34
36
|
include RockRMS::Client::Transaction
|
|
35
37
|
include RockRMS::Client::TransactionDetail
|
|
36
38
|
include RockRMS::Client::UserLogin
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module RockRMS
|
|
2
4
|
class Client
|
|
3
5
|
module RecurringDonationDetail
|
|
6
|
+
def create_recurring_donation_detail(
|
|
7
|
+
recurring_donation_id:,
|
|
8
|
+
fund_id:,
|
|
9
|
+
amount:
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
options = {
|
|
13
|
+
'AccountId' => fund_id,
|
|
14
|
+
'Amount' => amount,
|
|
15
|
+
'ScheduledTransactionId' => recurring_donation_id
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
post(recurring_donation_detail_path, options)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def delete_recurring_donation_detail(id)
|
|
22
|
+
delete(recurring_donation_detail_path(id))
|
|
23
|
+
end
|
|
24
|
+
|
|
4
25
|
def update_recurring_donation_detail(id, fund_id: nil, amount: nil)
|
|
5
26
|
options = {}
|
|
6
27
|
options['AccountId'] = fund_id if fund_id
|
|
@@ -9,7 +9,8 @@ module RockRMS
|
|
|
9
9
|
reason_id:,
|
|
10
10
|
transaction_id:,
|
|
11
11
|
transaction_code: nil,
|
|
12
|
-
amount: nil
|
|
12
|
+
amount: nil,
|
|
13
|
+
gateway_id: nil
|
|
13
14
|
)
|
|
14
15
|
|
|
15
16
|
old_transaction = list_transactions(
|
|
@@ -27,6 +28,7 @@ module RockRMS
|
|
|
27
28
|
'FinancialTransaction' => {
|
|
28
29
|
'AuthorizedPersonAliasId' => old_transaction[:person_id],
|
|
29
30
|
'BatchId' => batch_id,
|
|
31
|
+
'FinancialGatewayId' => gateway_id,
|
|
30
32
|
'FinancialPaymentDetailId' => old_transaction[:payment_detail_id],
|
|
31
33
|
'TransactionCode' => transaction_code,
|
|
32
34
|
'TransactionDateTime' => date,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module RockRMS
|
|
2
|
+
class Client
|
|
3
|
+
module ServiceJob
|
|
4
|
+
def list_service_jobs(options = {})
|
|
5
|
+
res = get('ServiceJobs', options)
|
|
6
|
+
Response::ServiceJob.format(res)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def update_service_job(id, cron: nil)
|
|
10
|
+
options = {
|
|
11
|
+
'CronExpression': cron
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
patch("ServiceJobs/#{id}", options)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module RockRMS
|
|
2
|
+
module Response
|
|
3
|
+
class History < Base
|
|
4
|
+
MAP = {
|
|
5
|
+
id: 'Id',
|
|
6
|
+
verb: 'Verb',
|
|
7
|
+
change_type: 'ChangeType',
|
|
8
|
+
value_name: 'ValueName',
|
|
9
|
+
old_value: 'OldValue',
|
|
10
|
+
new_value: 'NewValue',
|
|
11
|
+
alias_id: 'CreatedByPersonAliasId'
|
|
12
|
+
}.freeze
|
|
13
|
+
|
|
14
|
+
def format_single(data)
|
|
15
|
+
to_h(MAP, data)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module RockRMS
|
|
2
|
+
module Response
|
|
3
|
+
class ServiceJob < Base
|
|
4
|
+
MAP = {
|
|
5
|
+
id: 'Id',
|
|
6
|
+
name: 'Name',
|
|
7
|
+
active: 'IsActive',
|
|
8
|
+
description: 'Description',
|
|
9
|
+
cron: 'CronExpression'
|
|
10
|
+
}.freeze
|
|
11
|
+
|
|
12
|
+
def format_single(data)
|
|
13
|
+
to_h(MAP, data)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/lib/rock_rms/version.rb
CHANGED
|
@@ -3,6 +3,50 @@ require 'spec_helper'
|
|
|
3
3
|
RSpec.describe RockRMS::Client::RecurringDonationDetail, type: :model do
|
|
4
4
|
include_context 'resource specs'
|
|
5
5
|
|
|
6
|
+
describe '#create_recurring_donation_detail' do
|
|
7
|
+
context 'arguments' do
|
|
8
|
+
it 'require `fund_id`' do
|
|
9
|
+
expect { client.create_recurring_donation_detail }
|
|
10
|
+
.to raise_error(ArgumentError, /fund_id/)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'require `amount`' do
|
|
14
|
+
expect { client.create_recurring_donation_detail }
|
|
15
|
+
.to raise_error(ArgumentError, /amount/)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'require `recurring_donation_id`' do
|
|
19
|
+
expect { client.create_recurring_donation_detail }
|
|
20
|
+
.to raise_error(ArgumentError, /recurring_donation_id/)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
subject(:resource) do
|
|
26
|
+
client.create_recurring_donation_detail(
|
|
27
|
+
fund_id: 1,
|
|
28
|
+
amount: 5.00,
|
|
29
|
+
recurring_donation_id: 1
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'returns integer' do
|
|
34
|
+
expect(resource).to be_a(Integer)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it 'passes options' do
|
|
38
|
+
expect(client).to receive(:post)
|
|
39
|
+
.with(
|
|
40
|
+
'FinancialScheduledTransactionDetails',
|
|
41
|
+
'AccountId' => 1,
|
|
42
|
+
'ScheduledTransactionId' => 1,
|
|
43
|
+
'Amount' => 5.00,
|
|
44
|
+
)
|
|
45
|
+
.and_call_original
|
|
46
|
+
resource
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
6
50
|
describe '#update_recurring_donation_detail' do
|
|
7
51
|
subject(:resource) do
|
|
8
52
|
client.update_recurring_donation_detail(
|
|
@@ -26,4 +70,19 @@ RSpec.describe RockRMS::Client::RecurringDonationDetail, type: :model do
|
|
|
26
70
|
resource
|
|
27
71
|
end
|
|
28
72
|
end
|
|
73
|
+
|
|
74
|
+
describe '#delete_recurring_donation_detail' do
|
|
75
|
+
subject(:resource) do
|
|
76
|
+
client.delete_recurring_donation_detail(123)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
it 'returns nothing' do
|
|
80
|
+
expect(client.delete_recurring_donation_detail(123)).to eq(nil)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
it 'passes options' do
|
|
84
|
+
expect(client).to receive(:delete).with('FinancialScheduledTransactionDetails/123').and_call_original
|
|
85
|
+
resource
|
|
86
|
+
end
|
|
87
|
+
end
|
|
29
88
|
end
|
|
@@ -51,6 +51,7 @@ RSpec.describe RockRMS::Client::Refund, type: :model do
|
|
|
51
51
|
'FinancialTransaction' => {
|
|
52
52
|
'AuthorizedPersonAliasId' => 120,
|
|
53
53
|
'BatchId' => 1,
|
|
54
|
+
'FinancialGatewayId' => nil,
|
|
54
55
|
'FinancialPaymentDetailId' => 156,
|
|
55
56
|
'TransactionDateTime' => '2018-02-01',
|
|
56
57
|
'TransactionDetails' => [{"Amount"=>-10.0, "AccountId"=>23}, {"Amount"=>-90.0, "AccountId"=>24}],
|
|
@@ -89,6 +90,7 @@ RSpec.describe RockRMS::Client::Refund, type: :model do
|
|
|
89
90
|
'FinancialTransaction' => {
|
|
90
91
|
'AuthorizedPersonAliasId' => 120,
|
|
91
92
|
'BatchId' => 1,
|
|
93
|
+
'FinancialGatewayId' => nil,
|
|
92
94
|
'FinancialPaymentDetailId' => 156,
|
|
93
95
|
'TransactionDateTime' => '2018-02-01',
|
|
94
96
|
'TransactionDetails' => [{"Amount"=>-7.56, "AccountId"=>23}, {"Amount"=>-67.99, "AccountId"=>24}],
|
|
@@ -99,9 +101,6 @@ RSpec.describe RockRMS::Client::Refund, type: :model do
|
|
|
99
101
|
.and_call_original
|
|
100
102
|
resource
|
|
101
103
|
end
|
|
102
|
-
|
|
103
104
|
end
|
|
104
|
-
|
|
105
105
|
end
|
|
106
|
-
|
|
107
106
|
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
12345
|
data/spec/support/rock_mock.rb
CHANGED
|
@@ -9,6 +9,7 @@ class RockMock < Sinatra::Base
|
|
|
9
9
|
'FinancialPaymentDetails/:id',
|
|
10
10
|
'FinancialPersonSavedAccounts/:id',
|
|
11
11
|
'FinancialTransactions/:id',
|
|
12
|
+
'FinancialScheduledTransactionDetails/:id',
|
|
12
13
|
'GroupMembers/:id'
|
|
13
14
|
].each do |end_point|
|
|
14
15
|
delete "/api/#{end_point}" do
|
|
@@ -64,7 +65,8 @@ class RockMock < Sinatra::Base
|
|
|
64
65
|
create_recurring_donation: 'FinancialScheduledTransactions',
|
|
65
66
|
create_refund: 'FinancialTransactionRefunds',
|
|
66
67
|
create_refund_reason: 'DefinedValues',
|
|
67
|
-
create_saved_payment_method: 'FinancialPersonSavedAccounts'
|
|
68
|
+
create_saved_payment_method: 'FinancialPersonSavedAccounts',
|
|
69
|
+
create_recurring_donation_detail: 'FinancialScheduledTransactionDetails',
|
|
68
70
|
}.each do |json, end_point|
|
|
69
71
|
post "/api/#{end_point}" do
|
|
70
72
|
json_response 201, "#{json}.json"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rock_rms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.8.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Taylor Brooks
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-12-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -197,6 +197,7 @@ files:
|
|
|
197
197
|
- lib/rock_rms/resources/gateway.rb
|
|
198
198
|
- lib/rock_rms/resources/group.rb
|
|
199
199
|
- lib/rock_rms/resources/group_member.rb
|
|
200
|
+
- lib/rock_rms/resources/history.rb
|
|
200
201
|
- lib/rock_rms/resources/page.rb
|
|
201
202
|
- lib/rock_rms/resources/payment_detail.rb
|
|
202
203
|
- lib/rock_rms/resources/person.rb
|
|
@@ -206,6 +207,7 @@ files:
|
|
|
206
207
|
- lib/rock_rms/resources/refund.rb
|
|
207
208
|
- lib/rock_rms/resources/refund_reason.rb
|
|
208
209
|
- lib/rock_rms/resources/saved_payment_method.rb
|
|
210
|
+
- lib/rock_rms/resources/service_job.rb
|
|
209
211
|
- lib/rock_rms/resources/transaction.rb
|
|
210
212
|
- lib/rock_rms/resources/transaction_detail.rb
|
|
211
213
|
- lib/rock_rms/resources/user_login.rb
|
|
@@ -226,6 +228,7 @@ files:
|
|
|
226
228
|
- lib/rock_rms/response/gateway.rb
|
|
227
229
|
- lib/rock_rms/response/group.rb
|
|
228
230
|
- lib/rock_rms/response/group_location.rb
|
|
231
|
+
- lib/rock_rms/response/history.rb
|
|
229
232
|
- lib/rock_rms/response/location.rb
|
|
230
233
|
- lib/rock_rms/response/page.rb
|
|
231
234
|
- lib/rock_rms/response/payment_detail.rb
|
|
@@ -234,6 +237,7 @@ files:
|
|
|
234
237
|
- lib/rock_rms/response/recurring_donation.rb
|
|
235
238
|
- lib/rock_rms/response/recurring_donation_details.rb
|
|
236
239
|
- lib/rock_rms/response/saved_payment_method.rb
|
|
240
|
+
- lib/rock_rms/response/service_job.rb
|
|
237
241
|
- lib/rock_rms/response/transaction.rb
|
|
238
242
|
- lib/rock_rms/response/transaction_detail.rb
|
|
239
243
|
- lib/rock_rms/response/user_login.rb
|
|
@@ -296,6 +300,7 @@ files:
|
|
|
296
300
|
- spec/support/fixtures/create_payment_detail.json
|
|
297
301
|
- spec/support/fixtures/create_phone_number.json
|
|
298
302
|
- spec/support/fixtures/create_recurring_donation.json
|
|
303
|
+
- spec/support/fixtures/create_recurring_donation_detail.json
|
|
299
304
|
- spec/support/fixtures/create_refund.json
|
|
300
305
|
- spec/support/fixtures/create_refund_reason.json
|
|
301
306
|
- spec/support/fixtures/create_saved_payment_method.json
|
|
@@ -349,8 +354,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
349
354
|
- !ruby/object:Gem::Version
|
|
350
355
|
version: '0'
|
|
351
356
|
requirements: []
|
|
352
|
-
|
|
353
|
-
rubygems_version: 2.5.2.2
|
|
357
|
+
rubygems_version: 3.1.4
|
|
354
358
|
signing_key:
|
|
355
359
|
specification_version: 4
|
|
356
360
|
summary: A Ruby wrapper for the Rock RMS API
|