Class: Pubid::Core::Renderer::Urn
- Inherits:
-
Base
- Object
- Base
- Pubid::Core::Renderer::Urn
show all
- Defined in:
- lib/pubid/core/renderer/urn.rb
Constant Summary
collapse
- STAGES =
{ PWI: 0,
NP: 10,
AWI: 20,
WD: 20.20,
CD: 30,
DIS: 40,
FDIS: 50,
PRF: 50,
IS: 60 }.freeze
Constants inherited
from Base
Base::LANGUAGES
Instance Attribute Summary
Attributes inherited from Base
#params
Instance Method Summary
collapse
-
#render_amendments(amendments, _opts, _params) ⇒ Object
-
#render_copublisher(copublisher, _opts, _params) ⇒ Object
-
#render_corrigendum_stage(stage, opts, params) ⇒ Object
-
#render_corrigendums(corrigendums, _opts, _params) ⇒ Object
-
#render_edition(edition, _opts, _params) ⇒ Object
-
#render_identifier(params) ⇒ Object
-
#render_iteration(iteration, _opts, params) ⇒ Object
-
#render_language(language, _opts, _params) ⇒ Object
-
#render_part(part, _opts, _params) ⇒ Object
-
#render_publisher(publisher, _opts, _params) ⇒ Object
-
#render_stage(stage, _opts, _params) ⇒ Object
-
#render_type(type, _, _) ⇒ Object
-
#render_urn_stage(stage, opts, params) ⇒ Object
Methods inherited from Base
#initialize, #prerender_params, #render, #render_year
Instance Method Details
#render_amendments(amendments, _opts, _params) ⇒ Object
38
39
40
|
# File 'lib/pubid/core/renderer/urn.rb', line 38
def render_amendments(amendments, _opts, _params)
amendments&.map(&:render_urn)&.join || ""
end
|
#render_copublisher(copublisher, _opts, _params) ⇒ Object
22
23
24
25
26
27
28
|
# File 'lib/pubid/core/renderer/urn.rb', line 22
def render_copublisher(copublisher, _opts, _params)
return "-#{copublisher.downcase}" unless copublisher.is_a?(Array)
copublisher.map(&:to_s).sort.map do |copublisher|
"-#{copublisher.downcase}"
end.join
end
|
#render_corrigendum_stage(stage, opts, params) ⇒ Object
60
61
62
|
# File 'lib/pubid/core/renderer/urn.rb', line 60
def render_corrigendum_stage(stage, opts, params)
render_stage(stage, opts, params)
end
|
#render_corrigendums(corrigendums, _opts, _params) ⇒ Object
42
43
44
|
# File 'lib/pubid/core/renderer/urn.rb', line 42
def render_corrigendums(corrigendums, _opts, _params)
corrigendums&.map(&:render_urn)&.join || ""
end
|
#render_edition(edition, _opts, _params) ⇒ Object
30
31
32
|
# File 'lib/pubid/core/renderer/urn.rb', line 30
def render_edition(edition, _opts, _params)
":ed-#{edition}"
end
|
#render_identifier(params) ⇒ Object
13
14
15
16
|
# File 'lib/pubid/core/renderer/urn.rb', line 13
def render_identifier(params)
"urn:iso:std:%{publisher}%{copublisher}%{type}:%{number}%{part}%{stage}"\
"%{urn_stage}%{corrigendum_stage}%{iteration}%{edition}%{amendments}%{corrigendums}%{language}" % params
end
|
#render_iteration(iteration, _opts, params) ⇒ Object
64
65
66
|
# File 'lib/pubid/core/renderer/urn.rb', line 64
def render_iteration(iteration, _opts, params)
".v#{iteration}" if params[:stage]
end
|
#render_language(language, _opts, _params) ⇒ Object
46
47
48
|
# File 'lib/pubid/core/renderer/urn.rb', line 46
def render_language(language, _opts, _params)
":#{language}"
end
|
#render_part(part, _opts, _params) ⇒ Object
68
69
70
|
# File 'lib/pubid/core/renderer/urn.rb', line 68
def render_part(part, _opts, _params)
":-#{part}"
end
|
#render_publisher(publisher, _opts, _params) ⇒ Object
18
19
20
|
# File 'lib/pubid/core/renderer/urn.rb', line 18
def render_publisher(publisher, _opts, _params)
publisher.downcase
end
|
#render_stage(stage, _opts, _params) ⇒ Object
50
51
52
53
54
|
# File 'lib/pubid/core/renderer/urn.rb', line 50
def render_stage(stage, _opts, _params)
return ":stage-#{sprintf('%05.2f', stage)}" if stage.is_a?(Float)
":stage-#{sprintf('%05.2f', STAGES[stage.to_sym])}"
end
|
#render_type(type, _, _) ⇒ Object
34
35
36
|
# File 'lib/pubid/core/renderer/urn.rb', line 34
def render_type(type, _, _)
":#{type.downcase}"
end
|
#render_urn_stage(stage, opts, params) ⇒ Object
56
57
58
|
# File 'lib/pubid/core/renderer/urn.rb', line 56
def render_urn_stage(stage, opts, params)
render_stage(stage, opts, params)
end
|