Class: Jrf::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/jrf/cli.rb

Class Method Summary collapse

Class Method Details

.run(argv = ARGV, input: ARGF, out: $stdout, err: $stderr) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/jrf/cli.rb', line 7

def self.run(argv = ARGV, input: ARGF, out: $stdout, err: $stderr)
  verbose = false

  while argv.first&.start_with?("-")
    case argv.first
    when "-v"
      verbose = true
      argv.shift
    else
      err.puts "unknown option: #{argv.first}"
      err.puts "usage: jrf [-v] 'EXPR'"
      return 1
    end
  end

  if argv.empty?
    err.puts "usage: jrf [-v] 'EXPR'"
    return 1
  end

  expression = argv.shift
  Runner.new(input: input, out: out, err: err).run(expression, verbose: verbose)
  0
end