lib/bankscrap/cli.rb in bankscrap-2.1.0 vs lib/bankscrap/cli.rb in bankscrap-2.1.1

- old
+ new

@@ -25,14 +25,14 @@ if options[:format] export_to_file(nil, @client.accounts, options[:format], options[:output]) else @client.accounts.each do |account| - STDERR.puts "Account: #{account.description} (#{account.iban})".cyan - STDERR.puts "Balance: #{account.balance.format}".green + say "Account: #{account.description} (#{account.iban})", :cyan + say "Balance: #{account.balance.format}", :green if account.balance != account.available_balance - STDERR.puts "Available: #{account.available_balance.format}".yellow + say "Available: #{account.available_balance.format}", :yellow end end end end @@ -44,11 +44,11 @@ if options[:format] export_to_file(nil, @client.cards, options[:format], options[:output]) else @client.cards.each do |card| - STDERR.puts "Card: #{card.name} #{card.description} #{card.amount.format}".green + say "Card: #{card.name} #{card.description} #{card.amount.format}", :green end end end desc 'loans BankName', "get account's loans" @@ -59,11 +59,11 @@ if options[:format] export_to_file(nil, @client.loans, options[:format], options[:output]) else @client.loans.each do |loan| - STDERR.puts "Loan: #{loan.name} #{loan.description} #{loan.amount.format}".green + say "Loan: #{loan.name} #{loan.description} #{loan.amount.format}", :green end end end desc 'transactions BankName', "get account's transactions" @@ -79,11 +79,11 @@ account = @iban ? @client.account_with_iban(@iban) : @client.accounts.first if start_date && end_date if start_date > end_date - STDERR.puts 'From date must be lower than to date'.red + say 'From date must be lower than to date', :red exit end transactions = account.fetch_transactions(start_date: start_date, end_date: end_date) else @@ -91,11 +91,11 @@ end if options[:format] export_to_file(account, transactions, options[:format], options[:output]) else - STDERR.puts "Transactions for: #{account.description} (#{account.iban})".cyan + say "Transactions for: #{account.description} (#{account.iban})", :cyan print_transactions_header transactions.each { |t| print_transaction(t) } end end @@ -128,11 +128,11 @@ end def parse_date(string) Date.strptime(string, '%d-%m-%Y') rescue ArgumentError - STDERR.puts 'Invalid date format. Correct format d-m-Y (eg: 31-12-2016)'.red + say 'Invalid date format. Correct format d-m-Y (eg: 31-12-2016)', :red exit end def export_to_file(account, data, format, path) exporter(account, format).write_to_file(data, path) @@ -143,28 +143,28 @@ when 'csv' BankScrap::Exporter::Csv.new(account) when 'json' BankScrap::Exporter::Json.new(account) else - STDERR.puts 'Sorry, file format not supported.'.red + say 'Sorry, file format not supported.', :red exit end end def print_transactions_header - STDERR.puts "\n" - STDERR.puts 'DATE'.ljust(13) - STDERR.puts 'DESCRIPTION'.ljust(50) + SPACER - STDERR.puts 'AMOUNT'.rjust(15) + SPACER - STDERR.puts 'BALANCE'.rjust(15) - STDERR.puts '-' * 99 + say "\n" + say 'DATE'.ljust(13) + say 'DESCRIPTION'.ljust(50) + SPACER + say 'AMOUNT'.rjust(15) + SPACER + say 'BALANCE'.rjust(15) + say '-' * 99 end def print_transaction(transaction) color = (transaction.amount.to_i > 0 ? :green : :red) - STDERR.puts transaction.effective_date.strftime('%d/%m/%Y') + SPACER - STDERR.puts Utils::CliString.new(transaction.description).squish.truncate(50).ljust(50) + SPACER.colorize(color) - STDERR.puts Utils::CliString.new(transaction.amount.format).rjust(15) + SPACER.colorize(color) - STDERR.puts Utils::CliString.new(transaction.balance.format).rjust(15) + say transaction.effective_date.strftime('%d/%m/%Y') + SPACER + say Utils::CliString.new(transaction.description).squish.truncate(50).ljust(50) + SPACER, color + say Utils::CliString.new(transaction.amount.format).rjust(15) + SPACER, color + say Utils::CliString.new(transaction.balance.format).rjust(15) end end end