Module: HTTPDisk::Grep::Args

Defined in:
lib/httpdisk/grep/args.rb

Class Method Summary collapse

Class Method Details

.slop(args) ⇒ Object

Slop parsing. This is broken out so we can run without require ‘httpdisk’.

Raises:

  • (Slop::Error)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/httpdisk/grep/args.rb', line 9

def self.slop(args)
  slop = Slop.parse(args) do |o|
    o.banner = "httpdisk-grep [options] pattern [path ...]"
    o.boolean "-c", "--count", "suppress normal output and show count"
    o.boolean "-h", "--head", "show req headers before each match"
    o.boolean "-s", "--silent", "do not print anything to stdout"
    o.boolean "--version", "show version" do
      puts "httpdisk-grep #{HTTPDisk::VERSION}"
      exit
    end
    o.on "--help", "show this help" do
      puts o
      exit
    end
  end

  raise Slop::Error, "" if args.empty?
  raise Slop::Error, "no PATTERN specified" if slop.args.empty?

  slop.to_h.tap do
    _1[:pattern] = slop.args.shift
    _1[:roots] = slop.args
  end
end