Module: Gemirro::CLI

Defined in:
lib/gemirro/cli.rb

Overview

CLI mode

Constant Summary collapse

SLOP_OPTIONS =

Hash containing the default Slop options.

Returns:

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

Class Method Summary collapse

Class Method Details

.default_optionsSlop

Returns:

  • (Slop)


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.

Parameters:

  • config_file (String)

Returns:



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

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)

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

  require(config_file)
end

.optionsSlop

Returns:

  • (Slop)


20
21
22
# File 'lib/gemirro/cli.rb', line 20

def self.options
  @options ||= default_options
end

.version_informationString

Returns a String containing some platform/version related information.

Returns:

  • (String)


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

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