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::SESSION_VALIDATION

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?, #cookies, #deposit_range, #deposits_account_details_url, #deposits_from_account_details, #deposits_from_txt, #deposits_txt_url, #extract_client_name, #fill_date_inputs, #format_account_transactions, #format_rut, #format_transactions, #select_deposits_range, #session_headers, #setup_authentication, #timezone, #total_deposits, #validate_deposits, #wait_for_deposits_fetch

Methods included from Balance

#extract_balance, #find_account_balance, #get_balance_from_account_summary, #get_balance_from_accounts_list, #money_to_i, #validate_account_balance, #validate_summary_balance

Methods included from Navigation::BancoSecurity::CompanyNavigation

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

Methods inherited from BankApi::Clients::BaseClient

#batch_transfers, #get_account_balance, #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



65
66
67
68
69
70
71
72
73
74
75
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 65

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



55
56
57
58
59
60
61
62
63
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 55

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(options) ⇒ Object



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

def get_balance(options)
  
  goto_company_dashboard(options[:rut] || @company_rut)
  goto_balance
  (options[:account_number])
ensure
  browser.close
end

#get_deposits(options = {}) ⇒ Object



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

def get_deposits(options = {})
  
  goto_company_dashboard

  if options[:source] == :account_details
    return get_deposits_from_balance_section(options[:account_number])
  end

  get_deposits_from_transfers_section
ensure
  browser.close
end

#get_deposits_from_balance_section(account_number) ⇒ Object



85
86
87
88
89
90
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 85

def get_deposits_from_balance_section()
  fail "missing :account_number option" unless 
  goto_balance
  (.to_s)
  
end

#get_deposits_from_transfers_sectionObject



77
78
79
80
81
82
83
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 77

def get_deposits_from_transfers_section
  goto_deposits
  select_deposits_range
  deposits = deposits_from_txt
  validate_deposits(deposits) unless deposits.empty?
  deposits
end

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



92
93
94
95
96
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 92

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