Module: AchClient

Defined in:
lib/ach_client.rb,
lib/ach_client/version.rb,
lib/ach_client/helpers/utils.rb,
lib/ach_client/logging/logging.rb,
lib/ach_client/objects/return_code.rb,
lib/ach_client/objects/return_codes.rb,
lib/ach_client/objects/account_types.rb,
lib/ach_client/logging/savon_observer.rb,
lib/ach_client/helpers/dollars_to_cents.rb,
lib/ach_client/logging/log_provider_job.rb,
lib/ach_client/providers/sftp/ach_batch.rb,
lib/ach_client/providers/soap/fake/fake.rb,
lib/ach_client/objects/transaction_types.rb,
lib/ach_client/providers/abstract/ach_batch.rb,
lib/ach_client/providers/sftp/sftp_provider.rb,
lib/ach_client/providers/soap/soap_provider.rb,
lib/ach_client/providers/sftp/nacha_provider.rb,
lib/ach_client/providers/soap/fake/ach_batch.rb,
lib/ach_client/objects/responses/ach_response.rb,
lib/ach_client/providers/abstract/transformer.rb,
lib/ach_client/providers/sftp/ach_transaction.rb,
lib/ach_client/providers/abstract/company_info.rb,
lib/ach_client/providers/sftp/ach_status_checker.rb,
lib/ach_client/logging/log_providers/log_provider.rb,
lib/ach_client/providers/abstract/ach_transaction.rb,
lib/ach_client/providers/soap/ach_works/ach_batch.rb,
lib/ach_client/providers/soap/ach_works/ach_works.rb,
lib/ach_client/providers/soap/fake/ach_transaction.rb,
lib/ach_client/providers/abstract/ach_status_checker.rb,
lib/ach_client/providers/soap/ach_works/company_info.rb,
lib/ach_client/objects/responses/settled_ach_response.rb,
lib/ach_client/logging/log_providers/null_log_provider.rb,
lib/ach_client/objects/responses/returned_ach_response.rb,
lib/ach_client/providers/sftp/account_type_transformer.rb,
lib/ach_client/providers/soap/ach_works/date_formatter.rb,
lib/ach_client/objects/responses/corrected_ach_response.rb,
lib/ach_client/providers/soap/ach_works/ach_transaction.rb,
lib/ach_client/providers/soap/i_check_gateway/ach_batch.rb,
lib/ach_client/logging/log_providers/stdout_log_provider.rb,
lib/ach_client/objects/responses/processing_ach_response.rb,
lib/ach_client/providers/sftp/transaction_type_transformer.rb,
lib/ach_client/providers/soap/ach_works/ach_status_checker.rb,
lib/ach_client/providers/soap/i_check_gateway/company_info.rb,
lib/ach_client/providers/abstract/response_record_processor.rb,
lib/ach_client/providers/soap/i_check_gateway/ach_transaction.rb,
lib/ach_client/providers/soap/i_check_gateway/i_check_gateway.rb,
lib/ach_client/providers/soap/ach_works/account_type_transformer.rb,
lib/ach_client/providers/soap/i_check_gateway/ach_status_checker.rb,
lib/ach_client/providers/soap/ach_works/response_record_processor.rb,
lib/ach_client/providers/soap/ach_works/correction_details_processor.rb,
lib/ach_client/providers/soap/ach_works/transaction_type_transformer.rb,
lib/ach_client/providers/soap/i_check_gateway/instant_rejection_error.rb,
lib/ach_client/providers/soap/i_check_gateway/account_type_transformer.rb,
lib/ach_client/providers/soap/i_check_gateway/response_record_processor.rb,
lib/ach_client/providers/soap/i_check_gateway/transaction_type_transformer.rb

Overview

Adapter for interacting with various Ach service providers

Defined Under Namespace

Modules: AccountTypes, NachaProvider, SftpProvider, SoapProvider, TransactionTypes Classes: Abstract, AchResponse, AchWorks, CorrectedAchResponse, Fake, Helpers, ICheckGateway, Logging, ProcessingAchResponse, ReturnCode, ReturnCodes, ReturnedAchResponse, SettledAchResponse, Sftp, Transformer

Constant Summary collapse

VERSION =

Increment this when changes are published

'2.0.0'

Class Method Summary collapse

Class Method Details

.const_missing(name) ⇒ Object

Enables consumer to interact with new Sftp/NACHA providers without adding them to the codebase!! Lets say the consumer wants to integrate with Citibank. They would invoke AchClient::Citibank, which would be undefined. This const_missing would be called, and the Citibank module would be dynamically defined, with all the necessary Sftp/NACHA concerns included and ready for use. This is only helpful because many financial institutions use the same setup with NACHA and an SFTP server.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/ach_client.rb', line 23

def self.const_missing(name)
  const_set(
    name,
    Class.new do
      include AchClient::SftpProvider
      include AchClient::NachaProvider

      # Defines the classes within the provider namespace to use for
      # sending transactions
      const_set(:AchTransaction, Class.new(Sftp::AchTransaction))
      const_set(:AchBatch, Class.new(Sftp::AchBatch))
      const_set(:AchStatusChecker, Class.new(Sftp::AchStatusChecker))
    end
  )
end