# File lib/travis/cli/command.rb, line 71 def self.subcommands(*list) return @subcommands ||= [] if list.empty? @subcommands = list define_method :run do |subcommand, *args| error "Unknown subcommand. Available: #{list.join(', ')}." unless list.include? subcommand.to_sym send(subcommand, *args) end define_method :usage do usages = list.map { |c| color(usage_for("#{command_name} #{c}", c), :command) } "\nUsage: #{usages.join("\n ")}\n\n" end end