rock_rms 5.5.0 → 5.8.1

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