Sha256: 7199a70543503d2fedc9e25d7e88e90dcc6f27881faaf99b7e211d85cfadaa99

Contents?: true

Size: 528 Bytes

Versions: 26

Compression:

Stored size: 528 Bytes

Contents

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

26 entries across 25 versions & 3 rubygems

Version Path
dirwatch-0.0.2 vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/command_list.rb
tdiary-5.0.6 vendor/bundle/gems/byebug-9.1.0/lib/byebug/command_list.rb
byebug-9.1.0 lib/byebug/command_list.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/byebug-9.0.6/lib/byebug/command_list.rb
tdiary-5.0.5 vendor/bundle/gems/byebug-9.0.6/lib/byebug/command_list.rb
tdiary-5.0.4 vendor/bundle/gems/byebug-9.0.6/lib/byebug/command_list.rb
byebug-9.0.6 lib/byebug/command_list.rb
byebug-9.0.5 lib/byebug/command_list.rb
byebug-9.0.4 lib/byebug/command_list.rb
byebug-9.0.3 lib/byebug/command_list.rb
byebug-9.0.2 lib/byebug/command_list.rb
byebug-9.0.1 lib/byebug/command_list.rb
byebug-9.0.0 lib/byebug/command_list.rb
byebug-8.2.5 lib/byebug/command_list.rb
byebug-8.2.4 lib/byebug/command_list.rb
byebug-8.2.3 lib/byebug/command_list.rb
byebug-8.2.2 lib/byebug/command_list.rb
byebug-8.2.1 lib/byebug/command_list.rb
byebug-8.2.0 lib/byebug/command_list.rb
byebug-8.1.0 lib/byebug/command_list.rb