Module: Pdfrb::PdfVersion

Defined in:
lib/pdfrb/pdf_version.rb

Overview

PDF header version comparisons (ISO 32000-2, s7.2). Version strings are dot-separated numerics ("1.4", "2.0"); comparison is numeric-per-component, never lexical ("1.10" > "1.9").

Class Method Summary collapse

Class Method Details

.at_least?(version, minimum) ⇒ Boolean

Returns whether version meets or exceeds minimum.

Returns:

  • (Boolean)

    whether version meets or exceeds minimum.



19
20
21
# File 'lib/pdfrb/pdf_version.rb', line 19

def at_least?(version, minimum)
  compare(version, minimum) >= 0
end

.compare(a, b) ⇒ Integer

Returns -1, 0, or 1 as a is earlier, equal, or later than b.

Returns:

  • (Integer)

    -1, 0, or 1 as a is earlier, equal, or later than b.



12
13
14
15
16
# File 'lib/pdfrb/pdf_version.rb', line 12

def compare(a, b)
  aa = a.to_s.split(".").map(&:to_i)
  bb = b.to_s.split(".").map(&:to_i)
  (aa <=> bb) || 0
end