module ARGV

Public Class Methods

args() click to toggle source
# File lib/epitools/core_ext/argv.rb, line 30
def args
  @args ? @args : opts && @args
end
help?() click to toggle source
# File lib/epitools/core_ext/argv.rb, line 21
def help?
  !!@opts["help"]
end
on_help(&block) click to toggle source
# File lib/epitools/core_ext/argv.rb, line 47
def on_help(&block)
  @help_handler = block
end
opts() click to toggle source
# File lib/epitools/core_ext/argv.rb, line 25
def opts
  parse! unless @opts
  @opts
end
parse() click to toggle source
# File lib/epitools/core_ext/argv.rb, line 16
def parse
  parse!
  [@opts, @args]
end
parse!() click to toggle source
# File lib/epitools/core_ext/argv.rb, line 3
def parse!
  unless @opts or @args
    @opts, @args = partition { |arg| arg[/^--?\w{1,2}/].nil? }
    @opts = @opts.map { |opt| key, val = opt.strip(/^-+/).split("=") }.to_ostruct
    if @opts.help
      @help_handler.call
      exit
    end
  end

  [@opts, @args]
end
paths() click to toggle source
# File lib/epitools/core_ext/argv.rb, line 34
def paths
  map(&:to_Path)
end
paths_R() click to toggle source
# File lib/epitools/core_ext/argv.rb, line 38
def paths_R
  recursive_proc = proc do |paths|
    paths.map { |path| path.dir? ? the_expander.(path.ls_R) : path }
  end

  recursive_proc.(paths)
end
Also aliased as: recursive_paths
recursive_paths()
Alias for: paths_R
regexes(escaped: true, case_sensitive: false) click to toggle source
# File lib/epitools/core_ext/argv.rb, line 51
def regexes(escaped: true, case_sensitive: false)
  if case_sensitive
    map { |arg| /#{escaped ? Regexp.escape(arg) : arg}/ } # NO 'i'
  else
    map { |arg| /#{escaped ? Regexp.escape(arg) : arg}/i }
  end
end