module Reveal::Cli

Public Instance Methods

process(args) click to toggle source
# File lib/reveal/cli.rb, line 7
def process(args)
  command_name = args.first.gsub('-', '_')
  command_args = args[1..-1]
  cmd = Reveal::Command.new(logger)
  supported_cmds = cmd.methods - cmd.class.methods
  unless supported_cmds.include?(command_name.to_sym)
    puts "Command '#{command_name}' not supported.\nSupported commands: #{supported_cmds.join(", ")}"
    exit 1
  end

  cmd.send(command_name, command_args)
rescue Exception => e
  puts e.message
  exit 1
end

Private Instance Methods

logger() click to toggle source
# File lib/reveal/cli.rb, line 25
def logger
  @logger ||= begin
    logger = ::Logger.new(STDOUT)
    logger.formatter = proc do |_, _, _, msg|
      "#{msg}\n"
    end

    logger
  end
end