Sha256: 787c184aa7b825bffefe2d3af4fa7877b58971388c51135a05fe4c98bcbde4e2

Contents?: true

Size: 794 Bytes

Versions: 2

Compression:

Stored size: 794 Bytes

Contents

require('thor')
require('tty-table')

module Thengem
  class CLI < Thor
    default_task(:call)

    desc(:call, 'Calculate hours for timesheet entries')
    method_option(:gem_name, required: true, aliases: %i[-g])
    method_option(:date_string, required: false, aliases: %i[-d])
    method_option(:major_release, required: false, aliases: %i[-m])
    def call
      puts(table_formatter(gem_versions).render(:ascii))
    end

    private

    def table_formatter(versions)
      TTY::Table.new([options.fetch(:gem_name), 'released'], versions)
    end

    def gem_versions
      Thengem::GemVersions.call(
        gem_name: options.fetch(:gem_name),
        date_string: options.fetch(:date_string, nil),
        major_release: options.fetch(:major_release, nil),
      )
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
thengem-0.1.1 lib/thengem/cli.rb
thengem-0.1.0 lib/thengem/cli.rb