Module: Kettle::Dev::ExecutableVersion

Defined in:
lib/kettle/dev/executable_version.rb

Class Method Summary collapse

Class Method Details

.bare_long_version?(argv, arg, index, value_option:) ⇒ Boolean

Returns:

  • (Boolean)


45
46
47
48
49
50
# File 'lib/kettle/dev/executable_version.rb', line 45

def bare_long_version?(argv, arg, index, value_option:)
  return false unless arg == "--version"
  return true unless value_option

  index == argv.length - 1 || argv[index + 1].to_s.start_with?("-")
end

.consume_verbose!(argv) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/kettle/dev/executable_version.rb', line 31

def consume_verbose!(argv)
  index = argv.index("--verbose")
  return false unless index

  argv.delete_at(index)
  true
end

.header(script_basename) ⇒ Object



23
24
25
# File 'lib/kettle/dev/executable_version.rb', line 23

def header(script_basename)
  "== #{script_basename} v#{Kettle::Dev::Version::VERSION} =="
end


10
11
12
13
14
15
# File 'lib/kettle/dev/executable_version.rb', line 10

def print_and_exit!(script_basename, argv, value_option: false)
  return unless requested?(argv, value_option: value_option)

  puts "#{script_basename} #{Kettle::Dev::Version::VERSION}"
  exit(0)
end


17
18
19
20
21
# File 'lib/kettle/dev/executable_version.rb', line 17

def print_header(script_basename, argv = ARGV)
  return unless consume_verbose!(argv)

  puts header(script_basename)
end

.requested?(argv, value_option: false) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
42
43
# File 'lib/kettle/dev/executable_version.rb', line 39

def requested?(argv, value_option: false)
  argv.each_with_index.any? do |arg, index|
    arg == "-v" || bare_long_version?(argv, arg, index, value_option: value_option)
  end
end

.verbose?(argv) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/kettle/dev/executable_version.rb', line 27

def verbose?(argv)
  argv.any? { |arg| arg == "--verbose" }
end