Sha256: 08bfade7e355bad038c4c2f5b645783eca055dd9b8e9a55f1dc38cd148514002
Contents?: true
Size: 559 Bytes
Versions: 18
Compression:
Stored size: 559 Bytes
Contents
# frozen_string_literal: true require "byebug/errors" module Byebug # # Holds an array of subcommands for a command # class CommandList include Enumerable def initialize(commands) @commands = commands.sort_by(&:to_s) end def match(input) find { |cmd| cmd.match(input) } end def each @commands.each { |cmd| yield(cmd) } end def to_s "\n" + map { |cmd| cmd.columnize(width) }.join + "\n" end private def width @width ||= map(&:to_s).max_by(&:size).size end end end
Version data entries
18 entries across 18 versions & 8 rubygems