Sha256: d6541c5e2c4f52b7730f416f6a79039a42ea0a33162127f48a5ab4fbfdb7de5a
Contents?: true
Size: 1.37 KB
Versions: 3
Compression:
Stored size: 1.37 KB
Contents
require '3scale_toolbox/cli/error_handler' require '3scale_toolbox/cli/null_printer' require '3scale_toolbox/cli/json_printer' require '3scale_toolbox/cli/yaml_printer' require '3scale_toolbox/cli/custom_table_printer' require '3scale_toolbox/cli/output_flag' module ThreeScaleToolbox::CLI def self.root_command ThreeScaleToolbox::Commands::ThreeScaleCommand end def self.add_command(command) root_command.add_subcommand(command) end def self.load_builtin_commands ThreeScaleToolbox::Commands::BUILTIN_COMMANDS.each(&method(:add_command)) end def self.install_signal_handlers # Set exit handler # Only OS supported signals available_signals = %w[INT TERM].select { |signal_name| Signal.list.key? signal_name } available_signals.each do |signal| Signal.trap(signal) do puts exit!(0) end end # Set stack trace dump handler if !defined?(RUBY_ENGINE) || RUBY_ENGINE != 'jruby' if Signal.list.key? 'USR1' Signal.trap('USR1') do puts 'Caught USR1; dumping a stack trace' puts caller.map { |i| " #{i}" }.join("\n") end end end end def self.run(args) install_signal_handlers err = ErrorHandler.error_watchdog do load_builtin_commands ThreeScaleToolbox.load_plugins root_command.build_command.run args end err.nil? ? 0 : 1 end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
3scale_toolbox-1.0.1 | lib/3scale_toolbox/cli.rb |
3scale_toolbox-1.0.0 | lib/3scale_toolbox/cli.rb |
3scale_toolbox-0.20.0 | lib/3scale_toolbox/cli.rb |