rock_rms 5.6.0 → 5.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 870060d86df164090957d778d3927ad9916ade3d
4
- data.tar.gz: 1ca9283e89a5f81f974cb9b7acc7393c2be8a31e
2
+ SHA256:
3
+ metadata.gz: b4c7c116742e1c3d7ad8ef95c87c5eb484af173bc6b0ec5de6a7692326f3b354
4
+ data.tar.gz: edbd8b736d2bbbab53e7b71d814cbd8e660a68582e374e6a6a8c4558295b9005
5
5
  SHA512:
6
- metadata.gz: a4864199c84ee731c9629e657d01fc33d6d7eb607974850f4e06113af0a136c662277051bea3303ecb60f1b8ba4c1f70e2271b1547e2f48e4769931aa8aee5b4
7
- data.tar.gz: 37236d2f406bf9b9f748792da70709b2e0a0e20fd226eeebeb33be9309b3a162f9b1fc3092fa5c9e30993681599be7009b1a055d8c4d3ad05be1dbec29732ab4
6
+ metadata.gz: de2c4e9ee063f1b1bb8ee4ebf1581965dcf13e2792e6767dc2e73b11bf9a8b5e36d89fe927f1ed348a8dade0657aea488282453408e47a0ff75106f790288594
7
+ data.tar.gz: 5f7d2190935dc449ec0aefd52009b13335c5da527563f6c6a5836603afce29aceb4b9ab4d33958fb498a7a2e052ce8bb5d5303641a7fc5ae477e7cabe9ce79d0
data/.ruby-version CHANGED
@@ -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
@@ -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
@@ -97,7 +97,9 @@ module RockRMS
97
97
  funds.map do |fund|
98
98
  {
99
99
  'Amount' => fund[:amount],
100
- 'AccountId' => fund[:fund_id]
100
+ 'AccountId' => fund[:fund_id],
101
+ 'EntityTypeId' => fund[:entity_type_id],
102
+ 'EntityId' => fund[:entity_id]
101
103
  }
102
104
  end
103
105
  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
@@ -13,7 +13,8 @@ module RockRMS
13
13
  person_id: 'AuthorizedPersonAliasId',
14
14
  start_date: 'StartDate',
15
15
  transaction_details: 'ScheduledTransactionDetails',
16
- transaction_code: 'TransactionCode'
16
+ transaction_code: 'TransactionCode',
17
+ summary: 'Summary'
17
18
  }.freeze
18
19
 
19
20
  def format_single(data)
@@ -2,9 +2,11 @@ module RockRMS
2
2
  module Response
3
3
  class RecurringDonationDetails < Base
4
4
  MAP = {
5
+ id: 'Id',
5
6
  amount: 'Amount',
6
7
  fund_id: 'AccountId',
7
- id: 'Id'
8
+ entity_type_id: 'EntityTypeId',
9
+ entity_id: 'EntityId'
8
10
  }.freeze
9
11
 
10
12
  def format_single(data)
@@ -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
@@ -6,7 +6,9 @@ module RockRMS
6
6
  fee_amount: 'FeeAmount',
7
7
  fund: 'Account',
8
8
  fund_id: 'AccountId',
9
- amount: 'Amount'
9
+ amount: 'Amount',
10
+ entity_type_id: 'EntityTypeId',
11
+ entity_id: 'EntityId'
10
12
  }.freeze
11
13
 
12
14
  def format_single(response)
@@ -1,3 +1,3 @@
1
1
  module RockRMS
2
- VERSION = '5.6.0'.freeze
2
+ VERSION = '5.9.0'.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
@@ -139,7 +139,7 @@ RSpec.describe RockRMS::Client::RecurringDonation, type: :model do
139
139
  'FinancialGatewayId' => nil,
140
140
  'FinancialPaymentDetailId' => nil,
141
141
  'TransactionCode' => 'asdf',
142
- 'ScheduledTransactionDetails' => [{ 'Amount' => 450, 'AccountId' => 2 }],
142
+ 'ScheduledTransactionDetails' => [{ 'Amount' => 450, 'AccountId' => 2, 'EntityId' => nil, 'EntityTypeId' => nil }],
143
143
  'GatewayScheduleId' => nil,
144
144
  'SourceTypeValueId' => 10,
145
145
  'ForeignKey' => nil
@@ -85,7 +85,7 @@ RSpec.describe RockRMS::Client::Transaction, type: :model do
85
85
  'FinancialPaymentDetailId' => 1,
86
86
  'TransactionCode' => 'asdf',
87
87
  'TransactionDateTime' => 1,
88
- 'TransactionDetails' => [{ 'Amount' => 450, 'AccountId' => 2 }],
88
+ 'TransactionDetails' => [{ 'Amount' => 450, 'AccountId' => 2, 'EntityTypeId' => nil, 'EntityId' => nil }],
89
89
  'TransactionTypeValueId' => 53,
90
90
  'SourceTypeValueId' => 10,
91
91
  'Summary' => 'taco tuesday'
@@ -27,6 +27,7 @@ RSpec.describe RockRMS::Response::RecurringDonation, type: :model do
27
27
  start_date
28
28
  transaction_details
29
29
  transaction_code
30
+ summary
30
31
  ]
31
32
 
32
33
  expect(response.keys).to eq(expected_keys)
@@ -17,6 +17,8 @@ RSpec.describe RockRMS::Response::TransactionDetail, type: :model do
17
17
  expect(r[:id]).to eq(p['Id'])
18
18
  expect(r[:fund_id]).to eq(p['AccountId'])
19
19
  expect(r[:amount]).to eq(p['Amount'])
20
+ expect(r[:entity_type_id]).to eq(p['EntityTypeId'])
21
+ expect(r[:entity_id]).to eq(p['EntityId'])
20
22
  end
21
23
  end
22
24
  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.6.0
4
+ version: 5.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taylor Brooks
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-24 00:00:00.000000000 Z
11
+ date: 2021-03-17 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
@@ -334,7 +339,7 @@ homepage: https://github.com/taylorbrooks/rock_rms
334
339
  licenses:
335
340
  - MIT
336
341
  metadata: {}
337
- post_install_message:
342
+ post_install_message:
338
343
  rdoc_options: []
339
344
  require_paths:
340
345
  - lib
@@ -349,9 +354,8 @@ 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
354
- signing_key:
357
+ rubygems_version: 3.1.4
358
+ signing_key:
355
359
  specification_version: 4
356
360
  summary: A Ruby wrapper for the Rock RMS API
357
361
  test_files: []