Class: BankScrap::Cli

Inherits:
Thor
  • Object
show all
Defined in:
lib/bank_scrap/cli.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.shared_options ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/bank_scrap/cli.rb', line 6

def self.shared_options
  option :user,     default: ENV['BANK_SCRAP_USER']
  option :password, default: ENV['BANK_SCRAP_PASSWORD']
  option :log,      default: false
  option :debug,    default: false

  # Some bank needs more input, like birthday, this would go here
  # Usage:
  # bank_scrap balance BANK_NAME --extra=birthday:01/12/1980
  option :extra, type: :hash
end

Instance Method Details

#balance(bank) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/bank_scrap/cli.rb', line 20

def balance(bank)
  assign_shared_options
  initialize_client_for(bank)

  @client.accounts.each do ||
    say "Account: #{.description} (#{.iban})", :cyan
    say "Balance: #{.balance}", :green
  end
end

#transactions(bank, iban = nil) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/bank_scrap/cli.rb', line 32

def transactions(bank, iban = nil)
  assign_shared_options
  initialize_client_for(bank)
   = iban ? @client.(iban) : @client.accounts.first
  transactions = .transactions
  say "Transactions for: #{.description} (#{.iban})", :cyan
  
  transactions.each do |transaction|
    say transaction.to_s, (transaction.amount > Money.new(0) ? :green : :red)
  end
end