Module: CodeSnippet::CLI

Defined in:
lib/code_snippet/cli.rb,
lib/code_snippet/cli/commands.rb,
lib/code_snippet/cli/presenters.rb

Overview

Command line interface helpers and actions

Defined Under Namespace

Modules: Commands, Presenters

Class Method Summary collapse

Class Method Details

.loggerObject

Creates logger for printing messages



27
28
29
30
31
32
33
34
# File 'lib/code_snippet/cli.rb', line 27

def logger
  @logger ||= Logger.new(STDOUT)
  @logger.formatter = proc do |_sev, _time, _prog, msg|
    "#{msg}\n"
  end

  @logger
end

Prints command line message to CLI



39
40
41
# File 'lib/code_snippet/cli.rb', line 39

def print_message(message)
  logger.info(message)
end

Prints a message and then exits with given status code



46
47
48
49
# File 'lib/code_snippet/cli.rb', line 46

def print_message_and_exit(message, exit_code = 1)
  print_message(message)
  exit(exit_code)
end

.snip_dirObject

Retrieves snippet dir from environment



14
15
16
17
18
19
20
21
22
# File 'lib/code_snippet/cli.rb', line 14

def snip_dir
  @snippet_dir = ENV['SNIPPET_DIR']
  raise 'SNIPPET_DIR environment variable not set' unless @snippet_dir
  unless File.exist?(@snippet_dir)
    raise "SNIPPET_DIR #{@snippet_dir} does not exist"
  end

  @snippet_dir
end