class StarkitBanking::Environment

Public Class Methods

build(credentials) click to toggle source
# File lib/starkit_banking/api/environment.rb, line 3
def self.build(credentials)   
  if credentials.decrypt_username == 'DEMO'
    ApiBanking::Environment::LOCAL.new(ENV['LOCAL_API_HOST'],ENV['LOCAL_API_PORT'])
  else
    if credentials.environment.try(:upcase) == 'UAT'
      if credentials.bank_name == 'YBL'
        ::ApiBanking::Environment::YBL::UAT.new(
          credentials.decrypt_username,
          credentials.password,
          credentials.decrypt_client_id,
          credentials.decrypt_client_secret
        )
      else
        ::ApiBanking::Environment::RBL::UAT.new(
          credentials.decrypt_username,
          credentials.password,
          credentials.decrypt_client_id,
          credentials.decrypt_client_secret,
          credentials.client_certificate.path, 
          credentials.client_private_key.path,
          credentials.decrypt_client_private_key_pwd
        )
      end
    elsif credentials.environment.try(:upcase) == 'PROD'
      if credentials.bank_name == 'YBL'
        ::ApiBanking::Environment::YBL::PRD.new(
          credentials.decrypt_username,
          credentials.password,
          credentials.decrypt_client_id,
          credentials.decrypt_client_secret,
          credentials.client_certificate.path,
          credentials.client_private_key.path,
          credentials.decrypt_client_private_key_pwd
        )
      else
        ::ApiBanking::Environment::RBL::PROD.new(
          credentials.decrypt_username,
          credentials.password,
          credentials.decrypt_client_id,
          credentials.decrypt_client_secret,
          credentials.client_certificate.path, 
          credentials.client_private_key.path,
          credentials.decrypt_client_private_key_pwd
        )
      end
    end
  end
end