Sha256: b116f1cec8204d366f3e5481172c65a3b7f69617e2cf0ea5b45be79bfaf20af5

Contents?: true

Size: 942 Bytes

Versions: 27

Compression:

Stored size: 942 Bytes

Contents

module Shoryuken
  module CLI
    class Base < Thor
      no_commands do
        def print_table(entries)
          column_sizes = print_columns_size(entries)

          entries.map do |entry|
            puts entry.map.with_index { |e, i| print_format_column(e, column_sizes[i]) }.join
          end
        end

        def print_columns_size(entries)
          column_sizes = Hash.new(0)

          entries.each do |entry|
            entry.each_with_index do |e, i|
              e = e.to_s
              column_sizes[i] = e.size if column_sizes[i] < e.size
            end
          end

          column_sizes
        end

        def print_format_column(column, size)
          size_with_padding = size + 4
          column = column.to_s.ljust(size_with_padding)
          column
        end

        def fail_task(msg, quit = true)
          say "[FAIL] #{msg}", :red
          exit(1) if quit
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
shoryuken-6.2.1 bin/cli/base.rb
shoryuken-6.2.0 bin/cli/base.rb
shoryuken-6.1.1 bin/cli/base.rb
shoryuken-6.1.0 bin/cli/base.rb
shoryuken-6.0.0 bin/cli/base.rb
shoryuken-5.3.2 bin/cli/base.rb
shoryuken-5.3.1 bin/cli/base.rb
shoryuken-5.3.0 bin/cli/base.rb
shoryuken-5.2.3 bin/cli/base.rb
shoryuken-5.2.2 bin/cli/base.rb
shoryuken-5.2.1 bin/cli/base.rb
shoryuken-5.2.0 bin/cli/base.rb
shoryuken-5.1.1 bin/cli/base.rb
shoryuken-5.1.0 bin/cli/base.rb
shoryuken-5.0.6 bin/cli/base.rb
shoryuken-5.0.5 bin/cli/base.rb
shoryuken-5.0.4 bin/cli/base.rb
shoryuken-5.0.3 bin/cli/base.rb
shoryuken-5.0.2 bin/cli/base.rb
shoryuken-5.0.1 bin/cli/base.rb