rock_rms 5.13.0 → 5.17.0

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
2
  SHA256:
3
- metadata.gz: d67ca6fa5ecea4ee2f92dcc85e4b54fa6c4821ddcf893516625ee20961ed03b3
4
- data.tar.gz: cf5c11cf2dea23eed77eac210371c42bb0fe2b02edd0f185ef803288ce50893d
3
+ metadata.gz: df26d487a46f16ed4ffee2e08f0c94cb482def5621391da71e4035e0c8970f5b
4
+ data.tar.gz: a3009d3a5bb708c3cb7660330178f56689da6a18feb1ecad557a8926c284cd4d
5
5
  SHA512:
6
- metadata.gz: f92db38dffbc0c81591f6215b4d962c232dae33074a7ab35d3b6d9ec80855de719c3978928471af46ee11ab59aa60382def3a3f9d60cb1b8bcd7559c37c84acb
7
- data.tar.gz: 7602db4a3e6b680d4faea4375ab5df60291dea623e0c5674a979b43659004488a690c88cbaf77374b122495418af7427f8a158b98c136c36508445db9f87aa71
6
+ metadata.gz: 84e72ec3e948e5215416692cd9b64371b58b35c0876d81fc338ab0ba5c6128de4feb67096e640b02735e5c7b1b3a5437c2f20831b69f863955306dcf99fefa76
7
+ data.tar.gz: 492ca825e2e53cee2c5686e1ad73d86521e833ccb12cf2476842ce8e7f630860965a520af4ebd55dfddb8a445238a42993401d42e7956ba345334524f169c2fb
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.2
1
+ 2.7.4
@@ -31,6 +31,7 @@ module RockRMS
31
31
  include RockRMS::Client::RecurringDonationDetail
32
32
  include RockRMS::Client::Refund
33
33
  include RockRMS::Client::RefundReason
34
+ include RockRMS::Client::Registration
34
35
  include RockRMS::Client::SavedPaymentMethod
35
36
  include RockRMS::Client::ServiceJob
36
37
  include RockRMS::Client::Transaction
@@ -41,14 +42,15 @@ module RockRMS
41
42
  include RockRMS::Client::WorkflowActivityType
42
43
  include RockRMS::Client::WorkflowType
43
44
 
44
- attr_reader :url, :username, :password, :logger, :cookie, :connection, :adapter
45
+ attr_reader :url, :username, :password, :logger, :cookie, :connection, :adapter, :ssl
45
46
 
46
- def initialize(url:, username:, password:, logger: true, adapter: Faraday.default_adapter)
47
+ def initialize(url:, username:, password:, logger: true, adapter: Faraday.default_adapter, ssl: nil)
47
48
  @url = "#{url}/api/"
48
49
  @username = username
49
50
  @password = password
50
51
  @logger = logger
51
52
  @adapter = adapter
53
+ @ssl = ssl
52
54
  @cookie = auth['set-cookie']
53
55
  end
54
56
 
@@ -103,7 +105,14 @@ module RockRMS
103
105
 
104
106
  headers['Cookie'] = cookie if cookie
105
107
 
106
- Faraday.new(url: url, headers: headers) do |conn|
108
+ client_opts = {
109
+ url: url,
110
+ headers: headers
111
+ }
112
+
113
+ client_opts[:ssl] = ssl if ssl
114
+
115
+ Faraday.new(client_opts) do |conn|
107
116
  conn.request :json
108
117
  conn.response :logger if logger
109
118
  conn.response :oj
@@ -35,7 +35,7 @@ module RockRMS
35
35
  )
36
36
  end
37
37
 
38
- def create_person(first_name:, last_name:, email:, connection_status_value_id: nil, record_status_value_id: nil)
38
+ def create_person(first_name:, last_name:, email:, connection_status_value_id: nil, record_status_value_id: nil, record_type_value_id: 1)
39
39
  options = {
40
40
  'IsSystem' => false,
41
41
  'FirstName' => first_name,
@@ -43,8 +43,13 @@ module RockRMS
43
43
  'Email' => email,
44
44
  'Gender' => 1,
45
45
  'ConnectionStatusValueId' => connection_status_value_id,
46
- 'RecordStatusValueId' => record_status_value_id
46
+ 'RecordStatusValueId' => record_status_value_id,
47
+ 'RecordTypeValueId' => record_type_value_id,
47
48
  }
49
+
50
+ # RecordTypeValueId 1 = Person
51
+ # RecordTypeValueId 2 = Business
52
+
48
53
  post(people_path, options)
49
54
  end
50
55
 
@@ -17,6 +17,7 @@ module RockRMS
17
17
  foreign_key: nil,
18
18
  frequency:,
19
19
  funds:,
20
+ end_date: nil,
20
21
  gateway_id: nil,
21
22
  gateway_schedule_id: nil,
22
23
  next_payment_date:,
@@ -40,6 +41,9 @@ module RockRMS
40
41
  'SourceTypeValueId' => source_type_id,
41
42
  'ForeignKey' => foreign_key
42
43
  }
44
+
45
+ options['EndDate'] = end_date if end_date
46
+
43
47
  post(recurring_donation_path, options)
44
48
  end
45
49
 
@@ -49,13 +53,15 @@ module RockRMS
49
53
  transaction_code: nil,
50
54
  payment_detail_id: nil,
51
55
  active: nil,
52
- frequency: nil
56
+ frequency: nil,
57
+ end_date: nil
53
58
  )
54
59
  options = { 'NextPaymentDate' => next_payment_date }
55
60
  options['FinancialPaymentDetailId'] = payment_detail_id if payment_detail_id
56
61
  options['TransactionCode'] = transaction_code if transaction_code
57
62
  options['IsActive'] = active if !active.nil?
58
63
  options['TransactionFrequencyValueId'] = RecurringFrequencies::RECURRING_FREQUENCIES[frequency] if !frequency.nil?
64
+ options['EndDate'] = end_date if end_date
59
65
 
60
66
  patch(recurring_donation_path(id), options)
61
67
  end
@@ -0,0 +1,27 @@
1
+ module RockRMS
2
+ class Client
3
+ module Registration
4
+ PATH = 'Registrations'.freeze
5
+
6
+ def list_registrations(options = {})
7
+ res = get(registration_path, options)
8
+ Response::Registration.format(res)
9
+ end
10
+
11
+ def find_registration(id)
12
+ res = get(registration_path(id))
13
+ Response::Registration.format(res)
14
+ end
15
+
16
+ def delete_registration(id)
17
+ delete(registration_path(id))
18
+ end
19
+
20
+ private
21
+
22
+ def registration_path(id = nil)
23
+ id ? "#{PATH}/#{id}" : PATH
24
+ end
25
+ end
26
+ end
27
+ end
@@ -21,6 +21,7 @@ module RockRMS
21
21
 
22
22
  def to_h(dict, data)
23
23
  return {} if data.nil?
24
+
24
25
  dict.each_with_object({}) do |(l, r), object|
25
26
  object[l] = data[r]
26
27
  end
@@ -4,7 +4,8 @@ module RockRMS
4
4
  MAP = {
5
5
  id: 'Id',
6
6
  campus_id: 'CampusId',
7
- name: 'Name'
7
+ name: 'Name',
8
+ gl_code: 'GlCode'
8
9
  }.freeze
9
10
 
10
11
  def format_single(data)
@@ -7,6 +7,7 @@ module RockRMS
7
7
  financial_gateway_id: 'FinancialGatewayId',
8
8
  foreign_key: 'ForeignKey',
9
9
  frequency: 'TransactionFrequencyValueId',
10
+ end_date: 'EndDate',
10
11
  gateway_schedule_id: 'GatewayScheduleId',
11
12
  next_payment_date: 'NextPaymentDate',
12
13
  payment_details: 'FinancialPaymentDetail',
@@ -0,0 +1,22 @@
1
+ module RockRMS
2
+ module Response
3
+ class Registration < Base
4
+ MAP = {
5
+ id: 'Id',
6
+ first_name: 'FirstName',
7
+ last_name: 'LastName',
8
+ confirmation_email: 'ConfirmationEmail',
9
+ person_alias_id: 'PersonAliasId',
10
+ registration_instance_id: 'RegistrationInstanceId',
11
+ registration_instance: 'RegistrationInstance',
12
+ registrants: 'Registrants'
13
+ }.freeze
14
+
15
+ def format_single(data)
16
+ response = to_h(MAP, data)
17
+ response[:registration_instance] = RegistrationInstance.format(response[:registration_instance])
18
+ response
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ module RockRMS
2
+ module Response
3
+ class RegistrationInstance < Base
4
+ MAP = {
5
+ id: 'Id',
6
+ name: 'Name',
7
+ start_date: 'StartDateTime',
8
+ end_date: 'EndDateTime',
9
+ fund_id: 'AccountId'
10
+ }.freeze
11
+
12
+ def format_single(data)
13
+ response = to_h(MAP, data)
14
+ response
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,3 +1,3 @@
1
1
  module RockRMS
2
- VERSION = '5.13.0'.freeze
2
+ VERSION = '5.17.0'.freeze
3
3
  end
@@ -20,6 +20,7 @@ RSpec.describe RockRMS::Response::RecurringDonation, type: :model do
20
20
  financial_gateway_id
21
21
  foreign_key
22
22
  frequency
23
+ end_date
23
24
  gateway_schedule_id
24
25
  next_payment_date
25
26
  payment_details
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.13.0
4
+ version: 5.17.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: 2021-08-03 00:00:00.000000000 Z
11
+ date: 2022-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -206,6 +206,7 @@ files:
206
206
  - lib/rock_rms/resources/recurring_donation_detail.rb
207
207
  - lib/rock_rms/resources/refund.rb
208
208
  - lib/rock_rms/resources/refund_reason.rb
209
+ - lib/rock_rms/resources/registration.rb
209
210
  - lib/rock_rms/resources/saved_payment_method.rb
210
211
  - lib/rock_rms/resources/service_job.rb
211
212
  - lib/rock_rms/resources/transaction.rb
@@ -236,6 +237,8 @@ files:
236
237
  - lib/rock_rms/response/phone_number.rb
237
238
  - lib/rock_rms/response/recurring_donation.rb
238
239
  - lib/rock_rms/response/recurring_donation_details.rb
240
+ - lib/rock_rms/response/registration.rb
241
+ - lib/rock_rms/response/registration_instance.rb
239
242
  - lib/rock_rms/response/saved_payment_method.rb
240
243
  - lib/rock_rms/response/service_job.rb
241
244
  - lib/rock_rms/response/transaction.rb
@@ -339,7 +342,7 @@ homepage: https://github.com/taylorbrooks/rock_rms
339
342
  licenses:
340
343
  - MIT
341
344
  metadata: {}
342
- post_install_message:
345
+ post_install_message:
343
346
  rdoc_options: []
344
347
  require_paths:
345
348
  - lib
@@ -354,8 +357,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
354
357
  - !ruby/object:Gem::Version
355
358
  version: '0'
356
359
  requirements: []
357
- rubygems_version: 3.1.4
358
- signing_key:
360
+ rubygems_version: 3.1.6
361
+ signing_key:
359
362
  specification_version: 4
360
363
  summary: A Ruby wrapper for the Rock RMS API
361
364
  test_files: []