brew/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb
2017-05-22 02:51:17 +02:00

50 lines
986 B
Ruby

require_relative "options"
module Hbc
class CLI
class AbstractCommand
include Options
option "--[no-]binaries", :binaries, true
option "--debug", :debug, false
option "--verbose", :verbose, false
option "--outdated", :outdated_only, false
def self.command_name
@command_name ||= name.sub(/^.*:/, "").gsub(/(.)([A-Z])/, '\1_\2').downcase
end
def self.abstract?
!(name.split("::").last !~ /^Abstract[^a-z]/)
end
def self.visible
true
end
def self.cask_tokens_from(args)
args.reject { |a| a.empty? || a.chars.first == "-" }
end
def self.help
nil
end
def self.needs_init?
false
end
def self.run(*args)
new(*args).run
end
attr_accessor :args
private :args=
def initialize(*args)
@args = process_arguments(*args)
end
end
end
end