module InstaCLI::Demuxing

Mixin for routing by invocation (like busybox)

Public Instance Methods

execute(*args) click to toggle source
# File lib/instacli/demuxing.rb, line 14
def execute(*args)
  return STDERR.puts help(invoked_as, args[1..-1]) if %w(--help -h).include?(args.first)

  m, *rest = *args

  begin
    STDOUT.puts method(invoked_as, m).call(*rest)
  rescue *rescues
    STDERR.puts help(invoked_as, *args)
  end
end
invoked_as() click to toggle source
# File lib/instacli/demuxing.rb, line 10
def invoked_as
  File.basename $PROGRAM_NAME
end