Publication identifiers parsing library
Usage
Exclude attributes when compare
require "pubid-core"
pubid_first = Identifier.parse("ISO 1:1999")
pubid_second = Identifier.parse("ISO 1")
pubid_first == pubid_second
=> false
pubid_first.exclude(:year) == pubid_second
=> true
Using #to_h to convert identifier to hash
require "pubid-core"
pubid = Identifier.parse("ISO 1:1999")
pubid.to_h
=> { publisher: "ISO", number: 1, year: 1999 }
Using #new_edition_of? to compare identifiers
require "pubid-core"
pubid_first = Identifier.parse("ISO 1:1999")
pubid_second = Identifier.parse("ISO 1:2000")
pubid_first.new_edition_of?(pubid_second)
=> false
pubid_second.new_edition_of?(pubid_first)
=> true