class FxPotato::CLIFormatter

Public Class Methods

result(fxrate) click to toggle source
# File lib/fxpotato/cli_formatter.rb, line 3
def self.result(fxrate)
  fxrate && fxrate['rate'] ? pass_message(fxrate) : fail_message(fxrate)
end

Private Class Methods

fail_message(fxrate) click to toggle source
# File lib/fxpotato/cli_formatter.rb, line 12
def self.fail_message(fxrate)
  "Unable to calculate that exchange rate, here's why:\n#{inspect_rate_block(fxrate['base'], fxrate['date'])}\n#{inspect_rate_block(fxrate['target'], fxrate['date'])}"
end
inspect_rate_block(rate_block, date) click to toggle source
# File lib/fxpotato/cli_formatter.rb, line 20
def self.inspect_rate_block(rate_block, date)
  rate_block['rate'] ? "" : "\tUnable to find rate for #{rate_block['key']} on #{date}"
end
key_and_rate(rate_block) click to toggle source
# File lib/fxpotato/cli_formatter.rb, line 16
def self.key_and_rate(rate_block)
  "#{rate_block['key']}(#{rate_block['rate']})"
end
pass_message(fxrate) click to toggle source
# File lib/fxpotato/cli_formatter.rb, line 8
def self.pass_message(fxrate)
  "Exchange rate from #{key_and_rate(fxrate['base'])} to #{key_and_rate(fxrate['target'])} on #{fxrate['date']}: #{fxrate['rate']}"
end