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

Inherits:
BankApi::Clients::BaseClient show all
Includes:
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::NUMBER_OF_COLUMNS, Deposits::RUT_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_page, #extract_deposits_from_html, #goto_next_page, #last_deposit_in_current_page, #select_deposits_range, #set_page_size, #total_deposits, #validate_deposits, #wait_for_deposits_fetch, #wait_for_next_page

Methods included from Navigation::BancoSecurity::CompanyNavigation

#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.



17
18
19
20
21
22
23
24
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 17

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



26
27
28
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 26

def bank_name
  :security
end

#execute_batch_transfers(transfers_data) ⇒ Object



48
49
50
51
52
53
54
55
56
# File 'lib/bank_api/clients/banco_security/company_client.rb', line 48

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
end

#execute_transfer(transfer_data) ⇒ Object



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

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

#get_depositsObject



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

def get_deposits
  
  goto_company_dashboard
  goto_deposits
  select_deposits_range
  deposits = extract_deposits_from_html
  browser.close
  deposits
end

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



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

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