Class: Pubid::Ashrae::UrnGenerator
Instance Attribute Summary
#identifier
Instance Method Summary
collapse
#initialize, #maybe, #urn_edition, #urn_language, #urn_namespace, #urn_part, #urn_publisher, #urn_subpart, #urn_type
Instance Method Details
#generate ⇒ Object
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/pubid/ashrae/urn_generator.rb', line 41
def generate
parts = ["urn", "ashrae"]
parts << urn_number if urn_number
parts << urn_year if urn_year
parts << identifier.type.to_s.downcase if identifier.type
parts << urn_suffix if urn_suffix
parts << urn_amendment if urn_amendment
parts << urn_reaffirmed if urn_reaffirmed
parts << urn_copublisher if urn_copublisher
parts[1] = identifier.publisher.to_s.downcase if identifier.publisher
parts << urn_addendum if urn_addendum
parts.join(":")
end
|
#urn_addendum ⇒ Object
36
37
38
39
|
# File 'lib/pubid/ashrae/urn_generator.rb', line 36
def urn_addendum
val = maybe(:addendum)
"add.#{val}" if val
end
|
#urn_amendment ⇒ Object
24
25
26
|
# File 'lib/pubid/ashrae/urn_generator.rb', line 24
def urn_amendment
"amd.#{identifier.amendment}" if identifier.amendment
end
|
#urn_copublisher ⇒ Object
32
33
34
|
# File 'lib/pubid/ashrae/urn_generator.rb', line 32
def urn_copublisher
"copub.#{identifier.copublisher.to_s.downcase}" if identifier.copublisher
end
|
#urn_number ⇒ Object
6
7
8
9
10
|
# File 'lib/pubid/ashrae/urn_generator.rb', line 6
def urn_number
return nil unless identifier.code
identifier.code.to_s
end
|
#urn_reaffirmed ⇒ Object
28
29
30
|
# File 'lib/pubid/ashrae/urn_generator.rb', line 28
def urn_reaffirmed
"reaff.#{identifier.reaffirmed}" if identifier.reaffirmed
end
|
#urn_suffix ⇒ Object
20
21
22
|
# File 'lib/pubid/ashrae/urn_generator.rb', line 20
def urn_suffix
identifier.suffix&.to_s&.downcase
end
|
#urn_year ⇒ Object
12
13
14
15
16
17
18
|
# File 'lib/pubid/ashrae/urn_generator.rb', line 12
def urn_year
if identifier.year
return identifier.year.to_s
end
nil
end
|