pubid-iso 0.7.4 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 994066e91ad11d2b30748ff491bd2324dca970907d61f9995c1990388711d185
4
- data.tar.gz: c4b9789dac35f4afb63c567f3e2e41a51633b8e7a46af0dc80b6022778d1e616
3
+ metadata.gz: 2d8141eca51005c598eb5b5690a5e467d1e2586d841df60c17adf0294763487c
4
+ data.tar.gz: 5c8e3e156fbccc5b50ce8bbc4324e5a81377f5464d978bbd056d53bca73fa281
5
5
  SHA512:
6
- metadata.gz: cb7e5d8b073c664ebbfd3ad22e05a415cb932b4c314aeca51164ac1c7c26c1fe4db37c770c63735832251c8e790a1f118a489448bba0d816982bd12c9e7a1364
7
- data.tar.gz: b82c61a71b57000f7607252b2d92bf999bd143a7aba39e59e515998f96a1c3062aeb4dbf33667d1620b89be536a35c4470f389d968622e731a94bf33f83924e7
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
@@ -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.4".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.4
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-02-02 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