Class: Pubid::Amca::UrnGenerator
Instance Attribute Summary
#identifier
Instance Method Summary
collapse
#initialize, #maybe, #urn_edition, #urn_language, #urn_namespace, #urn_part, #urn_publisher, #urn_subpart
Instance Method Details
#generate ⇒ Object
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_copublisher ⇒ Object
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_number ⇒ Object
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_reaffirmed ⇒ Object
22
23
24
|
# File 'lib/pubid/amca/urn_generator.rb', line 22
def urn_reaffirmed
"reaff.#{identifier.reaffirmed}" if identifier.reaffirmed
end
|
#urn_suffix ⇒ Object
18
19
20
|
# File 'lib/pubid/amca/urn_generator.rb', line 18
def urn_suffix
identifier.suffix&.to_s&.downcase
end
|
#urn_type ⇒ Object
30
31
32
|
# File 'lib/pubid/amca/urn_generator.rb', line 30
def urn_type
identifier.type&.to_s&.downcase
end
|
#urn_year ⇒ Object
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
|