brew/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb

46 lines
876 B
Ruby
Raw Normal View History

2017-05-21 00:15:56 +02:00
require_relative "options"
2016-09-24 13:52:43 +02:00
module Hbc
class CLI
2017-05-20 19:08:03 +02:00
class AbstractCommand
2017-05-21 00:15:56 +02:00
include Options
option "--[no-]binaries", :binaries, true
option "--debug", :debug, false
option "--verbose", :verbose, false
option "--outdated", :outdated_only, false
2016-09-24 13:52:43 +02:00
def self.command_name
@command_name ||= name.sub(/^.*:/, "").gsub(/(.)([A-Z])/, '\1_\2').downcase
2016-09-24 13:52:43 +02:00
end
2016-08-18 22:11:42 +03:00
2017-05-20 19:08:03 +02:00
def self.abstract?
!(name.split("::").last !~ /^Abstract[^a-z]/)
end
2016-09-24 13:52:43 +02:00
def self.visible
true
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def self.help
2017-03-16 09:00:57 +01:00
nil
2016-09-24 13:52:43 +02:00
end
2016-08-18 22:11:42 +03:00
2016-09-24 13:52:43 +02:00
def self.needs_init?
false
end
2017-05-19 21:13:08 +02:00
2017-05-20 19:08:03 +02:00
def self.run(*args)
new(*args).run
end
2017-05-21 00:15:56 +02:00
attr_accessor :args
private :args=
2017-05-19 21:13:08 +02:00
def initialize(*args)
2017-05-21 00:15:56 +02:00
@args = process_arguments(*args)
2017-05-19 21:13:08 +02:00
end
2016-09-24 13:52:43 +02:00
end
2016-08-18 22:11:42 +03:00
end
end