rock_rms 5.0.0 → 5.5.0
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/lib/rock_rms/client.rb +1 -0
- data/lib/rock_rms/error.rb +16 -7
- data/lib/rock_rms/resources/recurring_donation.rb +10 -0
- data/lib/rock_rms/resources/recurring_donation_detail.rb +19 -0
- data/lib/rock_rms/resources/transaction.rb +4 -0
- data/lib/rock_rms/resources/transaction_detail.rb +2 -1
- data/lib/rock_rms/response/recurring_donation_details.rb +2 -1
- data/lib/rock_rms/version.rb +1 -1
- data/spec/rock_rms/error_spec.rb +3 -1
- data/spec/rock_rms/resources/recurring_donation_detail_spec.rb +29 -0
- data/spec/rock_rms/resources/recurring_donation_spec.rb +1 -1
- data/spec/support/rock_mock.rb +2 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a4add6f6df087698b9ec91bbad6880ca717aeef
|
4
|
+
data.tar.gz: '09e175b379477bf5fc3dc930985624465a513bea'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 012ae60c7c8f6791350250e9baa7ea365f833346bc3666b87924d5e3841f3f38e86e042b5862555bcb348b44a9a776ca398a783cfe746c337d825d7af63dc3bb
|
7
|
+
data.tar.gz: 368e177d21b30126c09df30601bb8709a5caa1720a19c97156f18c7fa6f9ab5be70bf43dce6fc4436550657396856184b4906c2a765e65597140c42e2e67f150
|
data/lib/rock_rms/client.rb
CHANGED
@@ -27,6 +27,7 @@ module RockRMS
|
|
27
27
|
include RockRMS::Client::Person
|
28
28
|
include RockRMS::Client::PhoneNumber
|
29
29
|
include RockRMS::Client::RecurringDonation
|
30
|
+
include RockRMS::Client::RecurringDonationDetail
|
30
31
|
include RockRMS::Client::Refund
|
31
32
|
include RockRMS::Client::RefundReason
|
32
33
|
include RockRMS::Client::SavedPaymentMethod
|
data/lib/rock_rms/error.rb
CHANGED
@@ -5,6 +5,7 @@ module RockRMS
|
|
5
5
|
class GatewayTimeout < Error; end
|
6
6
|
class InternalServerError < Error; end
|
7
7
|
class NotFound < Error; end
|
8
|
+
class ServiceUnavailable < Error; end
|
8
9
|
class Unauthorized < Error; end
|
9
10
|
end
|
10
11
|
|
@@ -16,20 +17,28 @@ module FaradayMiddleware
|
|
16
17
|
def on_complete(env)
|
17
18
|
case env[:status]
|
18
19
|
when 400
|
19
|
-
raise RockRMS::BadRequest,
|
20
|
+
raise RockRMS::BadRequest, error_message(env)
|
20
21
|
when 401
|
21
|
-
raise RockRMS::Unauthorized,
|
22
|
+
raise RockRMS::Unauthorized, error_message(env)
|
22
23
|
when 403
|
23
|
-
raise RockRMS::Forbidden,
|
24
|
+
raise RockRMS::Forbidden, error_message(env)
|
24
25
|
when 404
|
25
|
-
raise RockRMS::NotFound,
|
26
|
+
raise RockRMS::NotFound, error_message(env)
|
26
27
|
when 500
|
27
|
-
raise RockRMS::InternalServerError,
|
28
|
+
raise RockRMS::InternalServerError, error_message(env)
|
29
|
+
when 503
|
30
|
+
raise RockRMS::ServiceUnavailable, error_message(env)
|
28
31
|
when 504
|
29
|
-
raise RockRMS::GatewayTimeout,
|
32
|
+
raise RockRMS::GatewayTimeout, error_message(env)
|
30
33
|
when ERROR_STATUSES
|
31
|
-
raise RockRMS::Error,
|
34
|
+
raise RockRMS::Error, error_message(env)
|
32
35
|
end
|
33
36
|
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def error_message(env)
|
41
|
+
"#{env[:status]}: #{env[:url]} #{env[:body]}"
|
42
|
+
end
|
34
43
|
end
|
35
44
|
end
|
@@ -58,6 +58,16 @@ module RockRMS
|
|
58
58
|
patch(recurring_donation_path(id), options)
|
59
59
|
end
|
60
60
|
|
61
|
+
def launch_scheduled_transaction_workflow(
|
62
|
+
id,
|
63
|
+
workflow_type_id:,
|
64
|
+
workflow_name:,
|
65
|
+
attributes: {}
|
66
|
+
)
|
67
|
+
query_string = "?workflowTypeId=#{workflow_type_id}&workflowName=#{workflow_name}"
|
68
|
+
post(recurring_donation_path + "/LaunchWorkflow/#{id}#{query_string}", attributes)
|
69
|
+
end
|
70
|
+
|
61
71
|
private
|
62
72
|
|
63
73
|
def translate_funds(funds)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module RockRMS
|
2
|
+
class Client
|
3
|
+
module RecurringDonationDetail
|
4
|
+
def update_recurring_donation_detail(id, fund_id: nil, amount: nil)
|
5
|
+
options = {}
|
6
|
+
options['AccountId'] = fund_id if fund_id
|
7
|
+
options['Amount'] = amount if amount
|
8
|
+
|
9
|
+
patch(recurring_donation_detail_path(id), options)
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def recurring_donation_detail_path(id = nil)
|
15
|
+
id ? "FinancialScheduledTransactionDetails/#{id}" : 'FinancialScheduledTransactionDetails'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -11,9 +11,10 @@ module RockRMS
|
|
11
11
|
Response::TransactionDetail.format(res)
|
12
12
|
end
|
13
13
|
|
14
|
-
def update_transaction_detail(id, fund_id: nil, fee_amount: nil)
|
14
|
+
def update_transaction_detail(id, fund_id: nil, amount: nil, fee_amount: nil)
|
15
15
|
options = {}
|
16
16
|
options['AccountId'] = fund_id if fund_id
|
17
|
+
options['Amount'] = amount if amount
|
17
18
|
options['FeeAmount'] = fee_amount if fee_amount
|
18
19
|
|
19
20
|
patch(transaction_detail_path(id), options)
|
data/lib/rock_rms/version.rb
CHANGED
data/spec/rock_rms/error_spec.rb
CHANGED
@@ -18,9 +18,11 @@ RSpec.describe RockRMS::Error do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def expect_failure(code, body)
|
21
|
+
url = 'http://some-rock-uri.com/api/Auth/Login'
|
22
|
+
|
21
23
|
expect {
|
22
24
|
client.get('anything')
|
23
|
-
}.to raise_error(RockRMS::Error, /#{code}: #{body}/)
|
25
|
+
}.to raise_error(RockRMS::Error, /#{code}: #{url} #{body}/)
|
24
26
|
end
|
25
27
|
|
26
28
|
def expect_success
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe RockRMS::Client::RecurringDonationDetail, type: :model do
|
4
|
+
include_context 'resource specs'
|
5
|
+
|
6
|
+
describe '#update_recurring_donation_detail' do
|
7
|
+
subject(:resource) do
|
8
|
+
client.update_recurring_donation_detail(
|
9
|
+
123,
|
10
|
+
fund_id: 2,
|
11
|
+
amount: 100.0
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'returns nothing' do
|
16
|
+
expect(client.update_recurring_donation_detail(123, fund_id: 5, amount: 100.0)).to eq(nil)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'passes options' do
|
20
|
+
expect(client).to receive(:patch)
|
21
|
+
.with(
|
22
|
+
'FinancialScheduledTransactionDetails/123',
|
23
|
+
'AccountId' => 2,
|
24
|
+
'Amount' => 100.0
|
25
|
+
).and_call_original
|
26
|
+
resource
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -49,7 +49,7 @@ RSpec.describe RockRMS::Client::RecurringDonation, type: :model do
|
|
49
49
|
end
|
50
50
|
|
51
51
|
describe '#update_recurring_donation(id)' do
|
52
|
-
it '
|
52
|
+
it 'updates the recurring donation' do
|
53
53
|
expect(client).to receive(:patch)
|
54
54
|
.with(
|
55
55
|
'FinancialScheduledTransactions/123',
|
data/spec/support/rock_mock.rb
CHANGED
@@ -76,7 +76,8 @@ class RockMock < Sinatra::Base
|
|
76
76
|
'FinancialBatches/:id',
|
77
77
|
'FinancialScheduledTransactions/:id',
|
78
78
|
'FinancialTransactions/:id',
|
79
|
-
'FinancialTransactionDetails/:id'
|
79
|
+
'FinancialTransactionDetails/:id',
|
80
|
+
'FinancialScheduledTransactionDetails/:id',
|
80
81
|
].each do |end_point|
|
81
82
|
patch "/api/#{end_point}" do
|
82
83
|
content_type :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.5.0
|
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-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -202,6 +202,7 @@ files:
|
|
202
202
|
- lib/rock_rms/resources/person.rb
|
203
203
|
- lib/rock_rms/resources/phone_number.rb
|
204
204
|
- lib/rock_rms/resources/recurring_donation.rb
|
205
|
+
- lib/rock_rms/resources/recurring_donation_detail.rb
|
205
206
|
- lib/rock_rms/resources/refund.rb
|
206
207
|
- lib/rock_rms/resources/refund_reason.rb
|
207
208
|
- lib/rock_rms/resources/saved_payment_method.rb
|
@@ -253,6 +254,7 @@ files:
|
|
253
254
|
- spec/rock_rms/resources/payment_detail_spec.rb
|
254
255
|
- spec/rock_rms/resources/person_spec.rb
|
255
256
|
- spec/rock_rms/resources/phone_number_spec.rb
|
257
|
+
- spec/rock_rms/resources/recurring_donation_detail_spec.rb
|
256
258
|
- spec/rock_rms/resources/recurring_donation_spec.rb
|
257
259
|
- spec/rock_rms/resources/refund_reason_spec.rb
|
258
260
|
- spec/rock_rms/resources/refund_spec.rb
|