Class: Pubid::Ansi::UrnGenerator
- Inherits:
-
UrnGenerator::Base
- Object
- UrnGenerator::Base
- Pubid::Ansi::UrnGenerator
- Defined in:
- lib/pubid/ansi/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
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/pubid/ansi/urn_generator.rb', line 15 def generate parts = ["urn", "ansi"] parts << urn_number if urn_number parts << urn_part if urn_part parts << urn_subpart if urn_subpart parts << urn_year if urn_year parts << urn_edition if urn_edition parts << urn_typed_stage if urn_typed_stage if identifier.publisher parts[1] = identifier.publisher.render(context: URN_CONTEXT) end if identifier.copublishers&.any? copubs = identifier.copublishers.map { |cp| cp.render(context: URN_CONTEXT) } parts[1] = "#{parts[1]}-#{copubs.join('-')}" end if identifier.languages&.any? parts << identifier.languages.map(&:code).join(",") end parts.join(":") end |
#urn_typed_stage ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/pubid/ansi/urn_generator.rb', line 6 def urn_typed_stage return nil unless identifier.typed_stage type_code = identifier.typed_stage.type_code return nil if type_code && type_code.to_s == "ans" type_code&.to_s end |