class PDFMeta::Runner
Attributes
output[R]
Public Class Methods
new(command)
click to toggle source
# File lib/pdf_meta/runner.rb, line 5 def initialize(command) stdin, stdout, stderr, wait_thr = Open3.popen3(command) @output = stdout.read @error = stderr.read @process = wait_thr.value end
Public Instance Methods
error()
click to toggle source
# File lib/pdf_meta/runner.rb, line 16 def error error_mapping[@process.exitstatus].new(@error) end
success?()
click to toggle source
# File lib/pdf_meta/runner.rb, line 12 def success? @process.success? end
Private Instance Methods
error_mapping()
click to toggle source
# File lib/pdf_meta/runner.rb, line 22 def error_mapping @error_mapping ||= Hash.new(UnknownError).merge({ 1 => PDFMeta::UnableToReadFileError, 2 => PDFMeta::UnableOpenOutputFileError, 3 => PDFMeta::PDFPermissionError, 99 => PDFMeta::UnknownPopplerError }) end