Class: MailAutomation::Client

Inherits:
Common::Client::Base show all
Includes:
Common::Client::Concerns::Monitoring
Defined in:
lib/mail_automation/client.rb

Instance Method Summary collapse

Methods included from Common::Client::Concerns::Monitoring

#with_monitoring

Methods inherited from Common::Client::Base

configuration, #raise_backend_exception

Methods included from SentryLogging

#log_exception_to_sentry, #log_message_to_sentry, #non_nil_hash?, #normalize_level, #rails_logger

Constructor Details

#initialize(params) ⇒ Client

Initializes the MAS client.

MailAutomation::Client.new(

claim_id: 1234
file_number: 1234
form526: {
form526_uploads: []

})

Raises:

  • (ArgumentError)


22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/mail_automation/client.rb', line 22

def initialize(params)
  @claim_id = params[:claim_id]
  @file_number = params[:file_number]
  @form526 = params[:form526]
  @form526_uploads = params[:form526_uploads]

  raise ArgumentError, 'no file_number passed in for API request.' if @file_number.blank?
  raise ArgumentError, 'no claim_id passed in for API request.' if @claim_id.blank?
  raise ArgumentError, 'no form526 passed in for API request.' if @form526.blank?
  raise ArgumentError, 'no disabilities passed in for API request.' if @form526.dig('form526', 'form526',
                                                                                    'disabilities').blank?
end

Instance Method Details

#initiate_apcas_processingObject



35
36
37
38
39
40
41
42
43
44
# File 'lib/mail_automation/client.rb', line 35

def initiate_apcas_processing
  params = {
    file_number: @file_number,
    claim_id: @claim_id,
    form526: @form526['form526'],
    form526_uploads: @form526_uploads
  }

  perform(:post, Settings.mail_automation.endpoint, params.to_json.to_s, headers_hash)
end