Class: Pubid::Api::UrnGenerator

Inherits:
UrnGenerator::Base show all
Defined in:
lib/pubid/api/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_publisher, #urn_subpart

Constructor Details

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

Instance Method Details

#generateObject



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/pubid/api/urn_generator.rb', line 28

def generate
  parts = ["urn", "api"]
  parts << urn_type
  parts << urn_number if urn_number
  parts << urn_part if urn_part
  parts << urn_year if urn_year

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

  parts.join(":")
end

#urn_numberObject



10
11
12
13
14
# File 'lib/pubid/api/urn_generator.rb', line 10

def urn_number
  return nil unless identifier.code

  identifier.code.value.to_s
end

#urn_partObject



16
17
18
19
20
# File 'lib/pubid/api/urn_generator.rb', line 16

def urn_part
  return nil unless identifier.part

  "-#{identifier.part}"
end

#urn_typeObject



6
7
8
# File 'lib/pubid/api/urn_generator.rb', line 6

def urn_type
  "std"
end

#urn_yearObject



22
23
24
25
26
# File 'lib/pubid/api/urn_generator.rb', line 22

def urn_year
  return identifier.year.to_s if identifier.year

  nil
end