Class: Pubid::Cie::UrnGenerator
- Inherits:
-
UrnGenerator::Base
- Object
- UrnGenerator::Base
- Pubid::Cie::UrnGenerator
- Defined in:
- lib/pubid/cie/urn_generator.rb
Instance Attribute Summary
Attributes inherited from UrnGenerator::Base
Instance Method Summary collapse
Methods inherited from UrnGenerator::Base
#initialize, #maybe, #urn_edition, #urn_language, #urn_namespace, #urn_number, #urn_part, #urn_publisher, #urn_subpart, #urn_type, #urn_year
Constructor Details
This class inherits a constructor from Pubid::UrnGenerator::Base
Instance Method Details
#generate ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/pubid/cie/urn_generator.rb', line 6 def generate parts = ["urn", "cie"] special_type = special_identifier_type_component parts << special_type if special_type if maybe(:s_prefix) parts << "s" end parts << publisher_component if identifier.code parts << identifier.code.to_s end year = extract_year parts << year.to_s if year language = maybe(:language) if language if language&.code parts << language.code.to_s.downcase if language&.format parts << language.format.to_s.downcase end else parts << language.to_s.downcase end end stage = maybe(:stage) parts << stage.to_s.downcase if stage date_separator = maybe(:date_separator) parts << "sep.#{date_separator}" if date_separator iec_identifier = maybe(:iec_identifier) parts << "iec.#{iec_identifier}" if iec_identifier iso_reference = maybe(:iso_reference) parts << "iso.#{iso_reference}" if iso_reference doc_type = maybe(:doc_type) parts << "doctype.#{doc_type}" if doc_type identifiers_string = maybe(:identifiers_string) parts << "bundle.#{identifiers_string}" if identifiers_string bundle_number = maybe(:bundle_number) parts << "tut-bundle.#{bundle_number}" if bundle_number languages = maybe(:languages) if languages&.any? lang_codes = languages.map(&:code).join(",") parts << lang_codes end parts.join(":") end |