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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2a4add6f6df087698b9ec91bbad6880ca717aeef
4
- data.tar.gz: '09e175b379477bf5fc3dc930985624465a513bea'
2
+ SHA256:
3
+ metadata.gz: 34896162e890a03db10a4ef10642e0298883771c1c6a1cb777b6f6ad93291d36
4
+ data.tar.gz: be8aa505b592f9ad84c5e1971ab4603245a7f73d806d904cb49a1619de1f500d
5
5
  SHA512:
6
- metadata.gz: 012ae60c7c8f6791350250e9baa7ea365f833346bc3666b87924d5e3841f3f38e86e042b5862555bcb348b44a9a776ca398a783cfe746c337d825d7af63dc3bb
7
- data.tar.gz: 368e177d21b30126c09df30601bb8709a5caa1720a19c97156f18c7fa6f9ab5be70bf43dce6fc4436550657396856184b4906c2a765e65597140c42e2e67f150
6
+ metadata.gz: 184a910aeba39be386485333cd43ae609df78f9d450ea6f4323aa6ed2fc73c6f592f466195d71e998c560b3376e84cf545d7d3dd2a4247320a5ea380eafc34a8
7
+ data.tar.gz: 4246160d0c4f2217a8178e1857edaab97e7fe777f6d10c340360e5dfe3fd0908d5de7f45c93e4db9b3bfb50da5c431b378f65d02055970d0b0f7e33f5fd3345a
@@ -1 +1 @@
1
- 2.3.6
1
+ 2.7.2
@@ -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
@@ -0,0 +1,10 @@
1
+ module RockRMS
2
+ class Client
3
+ module History
4
+ def list_history(options = {})
5
+ res = get('Histories', options)
6
+ Response::History.format(res)
7
+ end
8
+ end
9
+ end
10
+ end
@@ -58,6 +58,10 @@ module RockRMS
58
58
  patch(recurring_donation_path(id), options)
59
59
  end
60
60
 
61
+ def delete_recurring_donation(id)
62
+ delete(recurring_donation_path(id))
63
+ end
64
+
61
65
  def launch_scheduled_transaction_workflow(
62
66
  id,
63
67
  workflow_type_id:,
@@ -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
@@ -10,7 +10,8 @@ module RockRMS
10
10
  end_date: 'BatchEndDateTime',
11
11
  campus_id: 'CampusId',
12
12
  is_campus: 'Campus',
13
- status: 'Status'
13
+ status: 'Status',
14
+ foreign_key: 'ForeignKey'
14
15
  }.freeze
15
16
 
16
17
  def format_single(data)
@@ -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
@@ -1,3 +1,3 @@
1
1
  module RockRMS
2
- VERSION = '5.5.0'.freeze
2
+ VERSION = '5.8.1'.freeze
3
3
  end
@@ -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
@@ -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.5.0
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-08-24 00:00:00.000000000 Z
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
- rubyforge_project:
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