pubid-iso 0.7.3 → 0.7.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c7548bf553930fd483cab3fd09c4a23279ef230108587725c5cecb456e36885
4
- data.tar.gz: eb037635c55d8f10068fb4a31ed4254e796c2c158a3b2553a643ee0e1794e8a0
3
+ metadata.gz: 2d8141eca51005c598eb5b5690a5e467d1e2586d841df60c17adf0294763487c
4
+ data.tar.gz: 5c8e3e156fbccc5b50ce8bbc4324e5a81377f5464d978bbd056d53bca73fa281
5
5
  SHA512:
6
- metadata.gz: 830082c58902dfd2763afdf5d8809665f7eae31a8802b8bf290daa9cd6341a553782ed388415c3c6986b731abeb35371ceb4bbf362cd2e42aaacaa2c691f4593
7
- data.tar.gz: 70c49c310c2ba7bba7a28027a7c96689d2129f7c0b1193390e81373dc901309248a21055e0ca0fd62290f1f2f919d4749c0c0142195ec46e9b77f1208e70ae92
6
+ metadata.gz: 988e58d807b4dc46856202b2da80d372c918ddec71cd4c7b38c56787041cd01d4c18b7371ef1d87046b07d4f09567a0201ed96a1405a9ec0d6feec84b5d73193
7
+ data.tar.gz: b02bdadac0ad01c20a215ff4e9c5a7bc82f2609004144498368e8dff9e01920be5da665ebdedde9892f2cacd763bd7978ca96bb79e431d75b5d638f2aa09f2e6
@@ -1,4 +1,5 @@
1
1
  require_relative "../renderer/extract"
2
+ require_relative "../renderer/urn-extract"
2
3
 
3
4
  module Pubid::Iso
4
5
  module Identifier
@@ -14,6 +15,10 @@ module Pubid::Iso
14
15
  def self.get_renderer_class
15
16
  Renderer::Extract
16
17
  end
18
+
19
+ def urn
20
+ Renderer::UrnExtract.new(to_h(deep: false)).render
21
+ end
17
22
  end
18
23
  end
19
24
  end
@@ -19,6 +19,10 @@ module Pubid::Iso
19
19
  },
20
20
  }.freeze
21
21
 
22
+ def initialize(publisher: nil, **opts)
23
+ super(publisher: publisher, **opts)
24
+ end
25
+
22
26
  def base_has_edition?
23
27
  @base.base.nil? && !@base.edition.nil? || (!@base.base.nil? && !@base.base.edition.nil?)
24
28
  end
@@ -24,21 +24,22 @@ module Pubid::Iso::Renderer
24
24
 
25
25
  def render_identifier(params, opts)
26
26
  type_prefix = params[:stage].nil? || !params[:stage].is_a?(Pubid::Core::TypedStage) ? self.class::TYPE : ""
27
- # type_prefix = params[:typed_stage].nil? || params[:typed_stage].empty? ? self.class::TYPE : ""
28
27
 
29
- if params[:stage].instance_of?(Pubid::Core::Stage) && !params[:stage].empty_abbr?
28
+ stage = params[:stage]
29
+
30
+ if params[:stage].instance_of?(Pubid::Core::Stage) && !params[:stage].to_s(with_prf: opts[:with_prf]).empty?
30
31
  type_prefix = " #{type_prefix}"
32
+ stage = params[:stage].to_s(with_prf: opts[:with_prf])
31
33
  end
32
34
 
33
35
  if self.class == Supplement
34
36
  if opts[:base_type] == :dir
35
37
  "%{stage}%{publisher} SUP%{number}%{part}%{iteration}%{year}%{month}%{edition}" % params
36
38
  else
37
- # type_prefix = "/#{type_prefix}" unless type_prefix.empty?
38
- "/%{stage}#{type_prefix}%{number}%{part}%{iteration}%{year}%{edition}" % params
39
+ "/#{stage}#{type_prefix}%{number}%{part}%{iteration}%{year}%{edition}" % params
39
40
  end
40
41
  else
41
- "/%{stage}#{type_prefix}%{number}%{part}%{iteration}%{year}%{edition}" % params
42
+ "/#{stage}#{type_prefix}%{number}%{part}%{iteration}%{year}%{edition}" % params
42
43
  end
43
44
  end
44
45
 
@@ -0,0 +1,25 @@
1
+ require_relative "urn"
2
+
3
+ module Pubid::Iso::Renderer
4
+ class UrnExtract < Urn
5
+ def render_identifier(params)
6
+ "%{base}%{stage}:ext%{year}%{number}%{edition}" \
7
+ "#{@params[:base].language ? (':' + @params[:base].language) : ''}" % params
8
+ end
9
+
10
+ def render_base(base, _opts, _params)
11
+ return base.urn if base.base || base.is_a?(Pubid::Iso::Identifier::Directives)
12
+
13
+ # to avoid rendering language as part of base
14
+ Urn.new(base.to_h(deep: false)).render
15
+ end
16
+
17
+ def render_number(number, _opts, params)
18
+ if params[:year]
19
+ ":v#{number}"
20
+ else
21
+ ":#{number}:v1"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,5 +1,5 @@
1
1
  module Pubid
2
2
  module Iso
3
- VERSION = "0.7.3".freeze
3
+ VERSION = "0.7.5".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pubid-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-20 00:00:00.000000000 Z
11
+ date: 2024-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.12.3
61
+ version: 1.12.4
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.12.3
68
+ version: 1.12.4
69
69
  description: Library to generate, parse and manipulate ISO PubID.
70
70
  email:
71
71
  - open.source@ribose.com
@@ -121,6 +121,7 @@ files:
121
121
  - lib/pubid/iso/renderer/urn-amendment.rb
122
122
  - lib/pubid/iso/renderer/urn-corrigendum.rb
123
123
  - lib/pubid/iso/renderer/urn-dir.rb
124
+ - lib/pubid/iso/renderer/urn-extract.rb
124
125
  - lib/pubid/iso/renderer/urn-supplement.rb
125
126
  - lib/pubid/iso/renderer/urn-tc.rb
126
127
  - lib/pubid/iso/renderer/urn.rb