Class: Appsignal::CLI Private
- Defined in:
- lib/appsignal/cli.rb,
lib/appsignal/cli/demo.rb,
lib/appsignal/cli/helpers.rb,
lib/appsignal/cli/install.rb,
lib/appsignal/cli/diagnose.rb,
lib/appsignal/cli/diagnose/paths.rb,
lib/appsignal/cli/diagnose/utils.rb,
lib/appsignal/cli/notify_of_deploy.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Defined Under Namespace
Modules: Helpers Classes: Demo, Diagnose, Install, NotifyOfDeploy
Constant Summary collapse
- AVAILABLE_COMMANDS =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
%w[demo diagnose install notify_of_deploy].freeze
Class Attribute Summary collapse
- .options ⇒ Object private
Class Method Summary collapse
- .command_option_parser ⇒ Object private
- .global_option_parser ⇒ Object private
- .run(argv = ARGV) ⇒ Object private
Class Attribute Details
.options ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
18 19 20 |
# File 'lib/appsignal/cli.rb', line 18 def @options end |
Class Method Details
.command_option_parser ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/appsignal/cli.rb', line 70 def command_option_parser { "demo" => OptionParser.new do |o| o. = "Usage: appsignal demo [options]" o.on "--environment=<app_env>", "The environment to demo" do |arg| [:environment] = arg end end, "diagnose" => OptionParser.new do |o| o. = "Usage: appsignal diagnose [options]" o.on "--environment=<app_env>", "The environment to diagnose" do |arg| [:environment] = arg end o.on "--[no-]send-report", "Confirm sending the report to AppSignal automatically" do |arg| [:send_report] = arg end end, "install" => OptionParser.new, "notify_of_deploy" => OptionParser.new do |o| o. = "Usage: appsignal notify_of_deploy [options]" o.on "--revision=<revision>", "The revision you're deploying" do |arg| [:revision] = arg end o.on "--user=<user>", "The name of the user that's deploying" do |arg| [:user] = arg end o.on "--environment=<app_env>", "The environment you're deploying to" do |arg| [:environment] = arg end o.on "--name=<name>", "The name of the app (optional)" do |arg| [:name] = arg end end } end |
.global_option_parser ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/appsignal/cli.rb', line 51 def global_option_parser OptionParser.new do |o| o. = "Usage: appsignal <command> [options]" o.on "-v", "--version", "Print version and exit" do |_arg| puts "AppSignal #{Appsignal::VERSION}" exit(0) end o.on "-h", "--help", "Show help and exit" do puts o exit(0) end o.separator "" o.separator "Available commands: #{AVAILABLE_COMMANDS.join(", ")}" end end |
.run(argv = ARGV) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/appsignal/cli.rb', line 20 def run(argv = ARGV) @options = {} global = global_option_parser commands = command_option_parser global.order!(argv) command = argv.shift if command if AVAILABLE_COMMANDS.include?(command) commands[command].parse!(argv) case command.to_sym when :demo Appsignal::CLI::Demo.run() when :diagnose Appsignal::CLI::Diagnose.run() when :install Appsignal::CLI::Install.run(argv.shift) when :notify_of_deploy Appsignal::CLI::NotifyOfDeploy.run() end else puts "Command '#{command}' does not exist, run appsignal -h to "\ "see the help" exit(1) end else # Print help puts global exit(0) end end |