Class: BankApi::Clients::BancoSecurity::CompanyClient

Inherits:
BankApi::Clients::BaseClient show all
Includes:
Balance, Deposits, Login, Transfers, Navigation::BancoSecurity::CompanyNavigation
Defined in:
lib/bank_api/clients/banco_security/company_client.rb

Constant Summary

Constants included from Deposits

Deposits::AMOUNT_COLUMN, Deposits::DATE_COLUMN, Deposits::RUT_COLUMN

Constants included from Balance

Balance::ACCOUNT_NUMBER_COLUMN, Balance::AVAILABLE_BALANCE_COLUMN, Balance::COUNTABLE_BALANCE_COLUMN

Constants included from Navigation::BancoSecurity::CompanyNavigation

Navigation::BancoSecurity::CompanyNavigation::BASE_URL

Instance Method Summary collapse

Methods included from Login

#click_login_button, #login, #set_login_values, #validate_credentials

Methods included from Transfers

#fill_coordinates, #set_transfer_transaction_data, #set_transfer_user_data, #submit_transfer_form, #validate_transfer_missing_data, #validate_transfer_valid_data

Methods included from Deposits

#any_deposits?, #deposit_range, #deposits_from_txt, #deposits_txt_url, #format_rut, #format_transactions, #select_deposits_range, #timezone, #total_deposits, #validate_deposits, #wait_for_deposits_fetch

Methods included from Balance

#find_account_balance, #money_to_i, #validate_balance

Methods included from Navigation::BancoSecurity::CompanyNavigation

#goto_balance, #goto_company_dashboard, #goto_deposits, #goto_login, #goto_transfer_form, #session_expired?

Methods inherited from BankApi::Clients::BaseClient

#batch_transfers, #get_recent_deposits, #transfer

Constructor Details

#initialize(config = BankApi::Configuration.new) ⇒ CompanyClient

Returns a new instance of CompanyClient.



20
21
22
23
24
25
26
27
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 20

def initialize(config = BankApi::Configuration.new)
  @user_rut = config.banco_security.user_rut
  @password = config.banco_security.password
  @company_rut = config.banco_security.company_rut
  @dynamic_card = config.banco_security.dynamic_card
  @page_size = config.banco_security.page_size
  super
end

Instance Method Details

#bank_nameObject



29
30
31
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 29

def bank_name
  :security
end

#execute_batch_transfers(transfers_data) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 62

def execute_batch_transfers(transfers_data)
  
  transfers_data.each do |transfer_data|
    goto_company_dashboard(transfer_data[:origin] || @company_rut)
    goto_transfer_form
    submit_transfer_form(transfer_data)
    fill_coordinates
  end
ensure
  browser.close
end

#execute_transfer(transfer_data) ⇒ Object



52
53
54
55
56
57
58
59
60
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 52

def execute_transfer(transfer_data)
  
  goto_company_dashboard(transfer_data[:origin] || @company_rut)
  goto_transfer_form
  submit_transfer_form(transfer_data)
  fill_coordinates
ensure
  browser.close
end

#get_balance(account_number) ⇒ Object



33
34
35
36
37
38
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 33

def get_balance()
  
  goto_company_dashboard
  goto_balance
  ()
end

#get_depositsObject



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 40

def get_deposits
  
  goto_company_dashboard
  goto_deposits
  select_deposits_range
  deposits = deposits_from_txt
  validate_deposits(deposits) unless deposits.empty?
  deposits
ensure
  browser.close
end

#goto_frame(query: nil, should_reset: true) ⇒ Object



74
75
76
77
78
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 74

def goto_frame(query: nil, should_reset: true)
  sleep 1
  super
  sleep 0.2
end