pubid-iso 0.7.4 → 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: 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