Sha256: e74049d2dc2e256fc8ff21081b868b78a5180eb8f0fa3887bdf02ce88c34b4bb

Contents?: true

Size: 1.15 KB

Versions: 3

Compression:

Stored size: 1.15 KB

Contents

require "exrt/cli/version"
require "thor"
require "exrt"
require_relative 'cli/renderer'

module Exrt
  module Cli
    class CLI < Thor
      class_option :base, :type => :string, :default => "USD"
      class_option :symbols, :type => :array, :default => []

      desc "latest --base --symbols", "show latest exchange rates"
      def latest
        base = options["base"]
        symbols = options["symbols"]
        response = Exrt::Rate.latest(base: base, symbols: symbols)
        r = Exrt::Cli::Renderer.new(d: response, t: Exrt::Cli::LATEST)
        puts r.render
      end

      desc "history --base --symbols --start_at --end_at", "show history exchange rates"
      option :start_at, :type => :string, :required => true
      option :end_at, :type => :string, :required => true
      def history
        base = options["base"]
        symbols = options["symbols"]
        response = Exrt::Rate.history(
          base: base,
          symbols: symbols,
          start_at: options["start_at"],
          end_at: options["end_at"]
        )
        r = Exrt::Cli::Renderer.new(d: response, t: Exrt::Cli::HISTORY)
        puts r.render
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
exrt-cli-0.2.2 lib/exrt/cli.rb
exrt-cli-0.2.1 lib/exrt/cli.rb
exrt-cli-0.2.0 lib/exrt/cli.rb