Sha256: e2dff46ce35b5a2efb9d25fd8eb8b8af359a141d637bf9f90511967cea9e2f31
Contents?: true
Size: 1007 Bytes
Versions: 2
Compression:
Stored size: 1007 Bytes
Contents
require '3scale_toolbox/cli/error_handler' 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 %w[INT TERM].each do |signal| Signal.trap(signal) do puts exit!(0) end end # Set stack trace dump handler if !defined?(RUBY_ENGINE) || RUBY_ENGINE != 'jruby' Signal.trap('USR1') do puts 'Caught USR1; dumping a stack trace' puts caller.map { |i| " #{i}" }.join("\n") 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
3scale_toolbox-0.7.0 | lib/3scale_toolbox/cli.rb |
3scale_toolbox-0.6.0 | lib/3scale_toolbox/cli.rb |