class Grouik::Helpers::Cli
Cli
helper, see “Grouik::Cli“
Public Instance Methods
host_os()
click to toggle source
@return [String]
# File src/lib/grouik/helpers/cli.rb, line 84 def host_os RbConfig::CONFIG['host_os'] end
license()
click to toggle source
Get the license
@return [String]
# File src/lib/grouik/helpers/cli.rb, line 68 def license Grouik.version_info[:license].to_s.gsub(/\n{3}/mi, "\n\n") end
make_parser(options = {})
click to toggle source
Provide an “OptionParser“
@param [Hash] options @return [OptionParser]
# File src/lib/grouik/helpers/cli.rb, line 17 def make_parser(options = {}) parser = OptionParser.new { basedir: ['--basedir=BASEDIR', 'Basedir [%s]' % options[:basedir]], output: ['-o=OUTPUT', '--output=OUTPUT', 'Output [/dev/stdout]'], require: ['-r=REQUIRE', '--require=REQUIRE', 'Required file on startup'], ignores: ['--ignores x,y,z', Array, 'Ignores'], paths: ['--paths x,y,z', Array, 'Paths'], stats: ['--[no-]stats', 'Display some stats'], version: ['--version', 'Display the version and exit'] }.each do |k, v| parser.on(*v) { |o| options[k] = o } end parser end
prepare_options(options)
click to toggle source
Prepare options
Process values in order to easify their use
@param [Hash] options @return [Hash]
# File src/lib/grouik/helpers/cli.rb, line 42 def prepare_options(options) [:require, :output].each do |k| next unless options[k] begin options[k] = Pathname.new(options[k]) rescue TypeError next end unless options[k].absolute? options[k] = Pathname.new(Dir.pwd).join(options[k]) end end [:ignores, :paths].each do |k| next unless options[k] options[k] = [options[k]] if options[k].is_a? String options[k] = options[k].to_a.map { |s| /#{s}/ } if :ignores == k end options end
read_config(path)
click to toggle source
Read a config file
@param [String] path @return [Hash]
# File src/lib/grouik/helpers/cli.rb, line 92 def read_config(path) file = Pathname.new(path.to_s) config = YAML.safe_load(file.read) h = config.each_with_object({}) do |(k, v), n| n[k.intern] = v end h end
version_chapter()
click to toggle source
Get a displayable version
Some inspiration taken from “wget –version“
@return [String]
# File src/lib/grouik/helpers/cli.rb, line 77 def version_chapter ['%s %s on %s' % [Grouik.name, Grouik::VERSION, host_os], nil, license].join("\n") end