Module: PDFMeta

Defined in:
lib/pdf_meta.rb,
lib/pdf_meta/parser.rb,
lib/pdf_meta/runner.rb,
lib/pdf_meta/command.rb,
lib/pdf_meta/results.rb,
lib/pdf_meta/version.rb,
lib/pdf_meta/results/file_size.rb,
lib/pdf_meta/results/page_size.rb

Defined Under Namespace

Classes: Command, Parser, Results, Runner

Constant Summary collapse

PopplerMissingError =
Class.new(StandardError)
UnknownError =
Class.new(StandardError)
UnableToReadFileError =
Class.new(StandardError)
UnableOpenOutputFileError =
Class.new(StandardError)
PDFPermissionError =
Class.new(StandardError)
UnknownPopplerError =
Class.new(StandardError)
VERSION =
"0.1.3"

Class Method Summary collapse

Class Method Details

.available?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/pdf_meta.rb', line 52

def available?
  @available ||= system("which #{config[:command_path]}")
end

.configObject



27
28
29
30
31
# File 'lib/pdf_meta.rb', line 27

def config
  @config ||= {
    command_path: 'pdfinfo'
  }
end

.configure {|config| ... } ⇒ Object

Yields:



33
34
35
36
# File 'lib/pdf_meta.rb', line 33

def configure &block
  reset!
  yield(config) if block_given?
end

.read(file) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/pdf_meta.rb', line 43

def read(file)
  raise PopplerMissingError unless available?
  out = case file
    when File then file.path
    else file
  end 
  PDFMeta::Command.new(out).run!
end

.reset!Object



38
39
40
41
# File 'lib/pdf_meta.rb', line 38

def reset!
  @config    = nil
  @available = nil
end