Class: Pubid::Amca::UrnGenerator

Inherits:
UrnGenerator::Base show all
Defined in:
lib/pubid/amca/urn_generator.rb

Instance Attribute Summary

Attributes inherited from UrnGenerator::Base

#identifier

Instance Method Summary collapse

Methods inherited from UrnGenerator::Base

#initialize, #maybe, #urn_edition, #urn_language, #urn_namespace, #urn_part, #urn_publisher, #urn_subpart

Constructor Details

This class inherits a constructor from Pubid::UrnGenerator::Base

Instance Method Details

#generateObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/pubid/amca/urn_generator.rb', line 34

def generate
  parts = ["urn", "amca"]
  parts << urn_number if urn_number
  parts << urn_year if urn_year
  parts << urn_suffix if urn_suffix
  parts << urn_reaffirmed if urn_reaffirmed
  parts << urn_copublisher if urn_copublisher

  parts[1] = identifier.publisher.to_s.downcase if identifier.publisher

  parts << urn_type if urn_type

  parts.join(":")
end

#urn_copublisherObject



26
27
28
# File 'lib/pubid/amca/urn_generator.rb', line 26

def urn_copublisher
  "copub.#{identifier.copublisher.to_s.downcase}" if identifier.copublisher
end

#urn_numberObject



6
7
8
9
10
# File 'lib/pubid/amca/urn_generator.rb', line 6

def urn_number
  return nil unless identifier.code

  identifier.code.to_s
end

#urn_reaffirmedObject



22
23
24
# File 'lib/pubid/amca/urn_generator.rb', line 22

def urn_reaffirmed
  "reaff.#{identifier.reaffirmed}" if identifier.reaffirmed
end

#urn_suffixObject



18
19
20
# File 'lib/pubid/amca/urn_generator.rb', line 18

def urn_suffix
  identifier.suffix&.to_s&.downcase
end

#urn_typeObject



30
31
32
# File 'lib/pubid/amca/urn_generator.rb', line 30

def urn_type
  identifier.type&.to_s&.downcase
end

#urn_yearObject



12
13
14
15
16
# File 'lib/pubid/amca/urn_generator.rb', line 12

def urn_year
  return nil unless identifier.year

  identifier.year.to_s
end