Class: NextcloudReleaseAgent::CLI
- Inherits:
-
Object
- Object
- NextcloudReleaseAgent::CLI
- Defined in:
- lib/nextcloud_release_agent/cli.rb
Constant Summary collapse
- SUBCOMMANDS =
%w[format prepare publish run monitor].freeze
Instance Method Summary collapse
-
#initialize(argv) ⇒ CLI
constructor
A new instance of CLI.
- #run ⇒ Object
Constructor Details
#initialize(argv) ⇒ CLI
Returns a new instance of CLI.
875 876 877 |
# File 'lib/nextcloud_release_agent/cli.rb', line 875 def initialize(argv) @argv = argv.dup end |
Instance Method Details
#run ⇒ Object
879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 |
# File 'lib/nextcloud_release_agent/cli.rb', line 879 def run subcommand = @argv.shift return usage if subcommand.nil? || %w[-h --help help].include?(subcommand) raise Error, "unknown subcommand: #{subcommand}" unless SUBCOMMANDS.include?(subcommand) = parser = option_parser() parser.parse!(@argv) manager = ReleaseManager.new() case subcommand when "format" manager.format_changelog when "prepare" manager.prepare when "publish" manager.publish(@argv.shift) when "run" manager.run when "monitor" manager.monitor(@argv.shift) end 0 rescue Error, OptionParser::ParseError => error $stderr.puts("[ERROR] #{error.}") 1 end |