rock_rms 4.5.0 → 4.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rock_rms/client.rb +2 -0
- data/lib/rock_rms/recurring_frequencies.rb +11 -0
- data/lib/rock_rms/resources/recurring_donation.rb +1 -11
- data/lib/rock_rms/response/recurring_donation.rb +8 -0
- data/lib/rock_rms/version.rb +1 -1
- data/spec/rock_rms/response/recurring_donation_spec.rb +22 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a3054295b2deca69b1eb80316e76a7167a8c5cb
|
4
|
+
data.tar.gz: ebb9413e249d73551942e07377f64c329b44c028
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37eb36da20fe40cd761337d53eeaf5464cb6f3e0f93c0b2d51233ca87ead149c4aa3bac9e01f19e672e1c2dca4dd78d0a72f7fccaab3892de62285e95817aa6c
|
7
|
+
data.tar.gz: 64e62fbdc08a874012edbae3c5ad65b177d8da89be1f0de20d21d2e21ecfb4a4c23d3d79f57d90f551a9ef04eca3637262af1c56c6a359d8da0644eec88a0996
|
data/lib/rock_rms/client.rb
CHANGED
@@ -4,10 +4,12 @@ require 'faraday_middleware/parse_oj'
|
|
4
4
|
|
5
5
|
Dir[File.expand_path('../resources/*.rb', __FILE__)].each { |f| require f }
|
6
6
|
require File.expand_path('../response/base.rb', __FILE__)
|
7
|
+
require File.expand_path('../recurring_frequencies.rb', __FILE__)
|
7
8
|
Dir[File.expand_path('../response/*.rb', __FILE__)].each { |f| require f }
|
8
9
|
|
9
10
|
module RockRMS
|
10
11
|
class Client
|
12
|
+
include RecurringFrequencies
|
11
13
|
include RockRMS::Client::Attribute
|
12
14
|
include RockRMS::Client::AttributeValue
|
13
15
|
include RockRMS::Client::Batch
|
@@ -27,7 +27,7 @@ module RockRMS
|
|
27
27
|
|
28
28
|
options = {
|
29
29
|
'AuthorizedPersonAliasId' => authorized_person_id,
|
30
|
-
'TransactionFrequencyValueId' => RECURRING_FREQUENCIES[frequency],
|
30
|
+
'TransactionFrequencyValueId' => RecurringFrequencies::RECURRING_FREQUENCIES[frequency],
|
31
31
|
'StartDate' => start_date,
|
32
32
|
'NextPaymentDate' => next_payment_date,
|
33
33
|
'IsActive' => active,
|
@@ -56,16 +56,6 @@ module RockRMS
|
|
56
56
|
|
57
57
|
private
|
58
58
|
|
59
|
-
RECURRING_FREQUENCIES = {
|
60
|
-
'one-time' => 130,
|
61
|
-
'weekly' => 132,
|
62
|
-
'bi-weekly' => 133,
|
63
|
-
'twice-a-month' => 134,
|
64
|
-
'monthly' => 135,
|
65
|
-
'quarterly' => 153,
|
66
|
-
'yearly' => 155
|
67
|
-
}.freeze
|
68
|
-
|
69
59
|
def translate_funds(funds)
|
70
60
|
funds.map do |fund|
|
71
61
|
{
|
@@ -4,20 +4,28 @@ module RockRMS
|
|
4
4
|
MAP = {
|
5
5
|
id: 'Id',
|
6
6
|
active: 'IsActive',
|
7
|
+
financial_gateway_id: 'FinancialGatewayId',
|
7
8
|
foreign_key: 'ForeignKey',
|
9
|
+
frequency: 'TransactionFrequencyValueId',
|
8
10
|
next_payment_date: 'NextPaymentDate',
|
9
11
|
payment_details: 'FinancialPaymentDetail',
|
10
12
|
person_id: 'AuthorizedPersonAliasId',
|
13
|
+
start_date: 'StartDate',
|
11
14
|
transaction_details: 'ScheduledTransactionDetails',
|
12
15
|
transaction_code: 'TransactionCode'
|
13
16
|
}.freeze
|
14
17
|
|
15
18
|
def format_single(data)
|
16
19
|
result = to_h(MAP, data)
|
20
|
+
result[:frequency] = find_frequency_by_id(result[:frequency])
|
17
21
|
result[:transaction_details] = RecurringDonationDetails.format(result[:transaction_details])
|
18
22
|
result[:payment_details] = PaymentDetail.format(result[:payment_details])
|
19
23
|
result
|
20
24
|
end
|
25
|
+
|
26
|
+
def find_frequency_by_id(type_id)
|
27
|
+
RecurringFrequencies::RECURRING_FREQUENCIES.key(type_id)
|
28
|
+
end
|
21
29
|
end
|
22
30
|
end
|
23
31
|
end
|
data/lib/rock_rms/version.rb
CHANGED
@@ -12,10 +12,32 @@ RSpec.describe RockRMS::Response::RecurringDonation, type: :model do
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
+
it 'has the following keys' do
|
16
|
+
response = result.first
|
17
|
+
expected_keys = %i[
|
18
|
+
id
|
19
|
+
active
|
20
|
+
financial_gateway_id
|
21
|
+
foreign_key
|
22
|
+
frequency
|
23
|
+
next_payment_date
|
24
|
+
payment_details
|
25
|
+
person_id
|
26
|
+
start_date
|
27
|
+
transaction_details
|
28
|
+
transaction_code
|
29
|
+
]
|
30
|
+
|
31
|
+
expect(response.keys).to eq(expected_keys)
|
32
|
+
end
|
33
|
+
|
15
34
|
it 'translates keys' do
|
16
35
|
result.zip(parsed) do |r, p|
|
17
36
|
expect(r[:id]).to eq(p['Id'])
|
37
|
+
expect(r[:active]).to eq(p['IsActive'])
|
38
|
+
expect(r[:financial_gateway_id]).to eq(p['FinancialGatewayId'])
|
18
39
|
expect(r[:foreign_key]).to eq(p['ForeignKey'])
|
40
|
+
expect(r[:frequency]).to eq('monthly')
|
19
41
|
expect(r[:next_payment_date]).to eq(p['NextPaymentDate'])
|
20
42
|
expect(r[:person_id]).to eq(p['AuthorizedPersonAliasId'])
|
21
43
|
expect(r[:transaction_details]).to eq(
|
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: 4.
|
4
|
+
version: 4.6.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: 2018-
|
11
|
+
date: 2018-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -184,6 +184,7 @@ files:
|
|
184
184
|
- lib/rock_rms.rb
|
185
185
|
- lib/rock_rms/client.rb
|
186
186
|
- lib/rock_rms/error.rb
|
187
|
+
- lib/rock_rms/recurring_frequencies.rb
|
187
188
|
- lib/rock_rms/resources/attribute.rb
|
188
189
|
- lib/rock_rms/resources/attribute_value.rb
|
189
190
|
- lib/rock_rms/resources/batch.rb
|