Class: Financo::CLI::Program
- Inherits:
-
Object
- Object
- Financo::CLI::Program
- Defined in:
- lib/financo/cli/program.rb,
lib/financo/cli/program/parser.rb
Overview
Program
Defined Under Namespace
Classes: Parser
Instance Method Summary collapse
-
#initialize(stdout: STDOUT) ⇒ Program
constructor
A new instance of Program.
- #run(argv: ARGV, bank: Financo::N26::Bank.new) ⇒ Object
Constructor Details
#initialize(stdout: STDOUT) ⇒ Program
12 13 14 15 16 |
# File 'lib/financo/cli/program.rb', line 12 def initialize(stdout: STDOUT) @stdout = stdout @parser = Parser.new end |
Instance Method Details
#run(argv: ARGV, bank: Financo::N26::Bank.new) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/financo/cli/program.rb', line 18 def run(argv: ARGV, bank: Financo::N26::Bank.new) args, = @parser.parse(argv) return show_help if [:help] return show_version if [:version] bank.authenticate(*args) open_journal(filename: [:output]) do |journal| bank .transactions(checking: [:checking]) .each { |t| journal.add(t) } end rescue Financo::Bank::AuthenticationError => e raise ProgramError, "Could not authenticate with the bank: #{e}" end |