Class: JSON::Repair::CLI

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(stdin: $stdin, stdout: $stdout, stderr: $stderr) ⇒ CLI

Returns a new instance of CLI.



15
16
17
18
19
# File 'lib/json/repair/cli.rb', line 15

def initialize(stdin: $stdin, stdout: $stdout, stderr: $stderr)
  @stdin = stdin
  @stdout = stdout
  @stderr = stderr
end

Class Method Details

.call(argv, stdin: $stdin, stdout: $stdout, stderr: $stderr) ⇒ Object



11
12
13
# File 'lib/json/repair/cli.rb', line 11

def self.call(argv, stdin: $stdin, stdout: $stdout, stderr: $stderr)
  new(stdin: stdin, stdout: stdout, stderr: stderr).call(argv)
end

Instance Method Details

#call(argv) ⇒ Object

Reset per-invocation state so a single instance can be safely reused (e.g. ‘cli = CLI.new; cli.call(); cli.call()`).



23
24
25
26
27
28
29
30
31
# File 'lib/json/repair/cli.rb', line 23

def call(argv)
  @output_path = @halt = nil
  @overwrite = false
  run(argv)
rescue OptionParser::ParseError, JSON::JSONRepairError, SystemCallError, IOError,
       SystemStackError => e
  @stderr.puts "json-repair: #{e.message}"
  1
end