Module: Gemirro::CLI

Defined in:
lib/gemirro/cli.rb

Overview

CLI mode

Constant Summary collapse

SLOP_OPTIONS =

Hash containing the default Slop options.

{
  strict: true,
  help: true,
  banner: 'Usage: gemirro [COMMAND] [OPTIONS]'
}.freeze

Class Method Summary collapse

Class Method Details

.default_optionsSlop



45
46
47
48
49
50
51
52
53
# File 'lib/gemirro/cli.rb', line 45

def self.default_options
  Slop.new(SLOP_OPTIONS.dup) do
    separator "\nOptions:\n"

    on :v, :version, 'Shows the current version' do
      puts CLI.version_information
    end
  end
end

.load_configuration(config_file) ⇒ Gemirro::Configuration

Loads the specified configuration file or displays an error if it doesn’t exist.



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/gemirro/cli.rb', line 29

def self.load_configuration(config_file)
  config_file ||= Configuration.default_configuration_file
  config_file   = File.expand_path(config_file, Dir.pwd)
  config_file += '/config.rb' unless config_file.end_with?('.rb') ||
                                     !File.directory?(config_file)

  unless File.file?(config_file)
    abort "The configuration file #{config_file} does not exist"
  end

  require(config_file)
end

.optionsSlop



18
19
20
# File 'lib/gemirro/cli.rb', line 18

def self.options
  @options ||= default_options
end

.version_informationString

Returns a String containing some platform/version related information.



60
61
62
# File 'lib/gemirro/cli.rb', line 60

def self.version_information
  "gemirro v#{VERSION} on #{RUBY_DESCRIPTION}"
end