Sha256: 864bb14b3d1e11c50137907c172467a77e060d5333db5302c0dfc39642840982
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
module RelatonBib # Document identifier. class DocumentIdentifier # @return [String] attr_reader :id # @return [String, NilClass] attr_reader :type # @param id [String] # @param type [String, NilClass] def initialize(id:, type: nil) @id = id @type = type end # in docid manipulations, assume ISO as the default: id-part:year def remove_part case @type when "Chinese Standard" then @id.sub!(/\.\d+/, "") else @id.sub!(/-\d+/, "") end end def remove_date case @type when "Chinese Standard" then @id.sub!(/-[12]\d\d\d/, "") else @id.sub!(/:[12]\d\d\d/, "") end end def all_parts @id += " (all parts)" end # # Add docidentifier xml element # # @param [Nokogiri::XML::Builder] builder # def to_xml(builder) builder.docidentifier(id, type: type) end # @return [Hash] def to_hash hash = { id: id } hash[:type] if type hash end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
relaton-bib-0.3.4 | lib/relaton_bib/document_identifier.rb |