nisevi/primes_table

View on GitHub
bin/primes_table

Summary

Maintainability
Test Coverage
#!/usr/bin/env ruby
# frozen_string_literal: true

require 'optparse'
require 'methadone'
require 'primes_table'

class App
  include Methadone::Main
  include Methadone::CLILogging

  main do
    rows = options[:rows].to_i < 10 ? 10 : options[:rows].to_i
    columns = options[:columns].to_i < 10 ? 10 : options[:columns].to_i
    args = { rows: rows, columns: columns }
    matrix = Matrix.new(args)
    matrix.print
  end

  description 'Prints out a multiplication table of the first N prime numbers.'

  on('-r ROWS', '--rows', 'Amount of rows in table. Must be integer. Default value is 10.')
  on('-c COLUMNS', '--columns', 'Amount of columns in the table. Must be integer. Default value is 10.')

  version PrimesTable::VERSION

  go!
end