Module: Everywhere::Entrypoint

Defined in:
lib/everywhere/entrypoint.rb

Overview

The body of both executables — every and rbe are the same CLI under two names, so exe/* stay one-liners that call in here.

Class Method Summary collapse

Class Method Details

.run(argv = ARGV) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/everywhere/entrypoint.rb', line 12

def run(argv = ARGV)
  Dry::CLI.new(Everywhere::CLI).call(arguments: argv)
rescue Interrupt
  # ^C is an answer, not a crash: no backtrace, and the shell's own convention
  # for "killed by SIGINT".
  exit 130
rescue Everywhere::Error => e
  # Everywhere::Fatal is a SystemExit, not an Error, so a die! that already
  # printed its own line passes straight through here.
  Everywhere::UI.die!(e.message)
end