pubid-iho 1.15.15 → 1.15.16
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 +4 -4
- data/lib/pubid/iho/identifier/base.rb +4 -2
- data/lib/pubid/iho/parser.rb +15 -2
- data/lib/pubid/iho/renderer/base.rb +9 -1
- data/lib/pubid/iho/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dba70173e8503455f343e9b8e5e3a968019f915a018ab3e0cc092fb790740570
|
|
4
|
+
data.tar.gz: c30012dd679b4c9c8ecfa4baffda8b81052f26285d8a170e78a9b726806713b6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8e390527143e07ce10e79e66b55baf2c771882516aac0b1ad69d4145ba6a2e4590245c2f439fca7fd13bd0b395bd84216d03164a490d6d38a28af5dfdabb6339
|
|
7
|
+
data.tar.gz: 26cb6f33f5f72274e43e9400638db171fa8e418e21181ca828216c9106cf7f2e05e69c937e6d29ee2f5bf0bf0cecdc445c5c172e848406b409b922f4346b5686
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
module Pubid::Iho
|
|
2
2
|
module Identifier
|
|
3
3
|
class Base < Pubid::Core::Identifier::Base
|
|
4
|
-
attr_accessor :version, :appendix
|
|
4
|
+
attr_accessor :version, :appendix, :annex, :supplement
|
|
5
5
|
|
|
6
6
|
def self.type
|
|
7
7
|
{ key: :iho }
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
def initialize(type:, publisher: "IHO", version: nil, part: nil, appendix: nil, **opts)
|
|
10
|
+
def initialize(type:, publisher: "IHO", version: nil, part: nil, appendix: nil, annex: nil, supplement: nil, **opts)
|
|
11
11
|
super(**opts.merge(publisher: publisher))
|
|
12
12
|
@part = part.to_s if part
|
|
13
13
|
@version = version.to_s if version
|
|
14
14
|
@appendix = appendix.to_s if appendix
|
|
15
|
+
@annex = annex.to_s if annex
|
|
16
|
+
@supplement = supplement.to_s if supplement
|
|
15
17
|
if type
|
|
16
18
|
unless Identifier.config.type_names.map { |_, v| v[:short] }.include?(type.to_s)
|
|
17
19
|
raise Pubid::Core::Errors::WrongTypeError, "Type '#{type}' is not available"
|
data/lib/pubid/iho/parser.rb
CHANGED
|
@@ -13,7 +13,12 @@ module Pubid::Iho
|
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
rule(:appendix) do
|
|
16
|
-
space >> str("Ap.") >> space >>
|
|
16
|
+
space >> (str("Appendix") | str("Ap.")) >> space >>
|
|
17
|
+
(
|
|
18
|
+
(match("[A-Z]") >> dash >> digits) |
|
|
19
|
+
digits |
|
|
20
|
+
match("[A-Z]")
|
|
21
|
+
).as(:appendix)
|
|
17
22
|
end
|
|
18
23
|
|
|
19
24
|
rule(:part) do
|
|
@@ -24,13 +29,21 @@ module Pubid::Iho
|
|
|
24
29
|
)
|
|
25
30
|
end
|
|
26
31
|
|
|
32
|
+
rule(:annex) do
|
|
33
|
+
space >> str("Annex") >> space >> match("[A-Z]").as(:annex)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
rule(:supplement) do
|
|
37
|
+
space >> str("Suppl") >> space >> digits.as(:supplement)
|
|
38
|
+
end
|
|
39
|
+
|
|
27
40
|
rule(:version) do
|
|
28
41
|
space >> (digits >> dot >> digits >> dot >> digits).as(:version)
|
|
29
42
|
end
|
|
30
43
|
|
|
31
44
|
rule(:identifier) do
|
|
32
45
|
(str("IHO") >> space).maybe >> series >> dash >> number >>
|
|
33
|
-
appendix.maybe >> part.maybe >> version.maybe
|
|
46
|
+
appendix.maybe >> part.maybe >> annex.maybe >> supplement.maybe >> version.maybe
|
|
34
47
|
end
|
|
35
48
|
|
|
36
49
|
rule(:root) { identifier }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module Pubid::Iho::Renderer
|
|
2
2
|
class Base < Pubid::Core::Renderer::Base
|
|
3
3
|
def render_identifier(params)
|
|
4
|
-
"%{publisher} %{type}-%{number}%{appendix}%{part}%{version}" % params
|
|
4
|
+
"%{publisher} %{type}-%{number}%{appendix}%{part}%{annex}%{supplement}%{version}" % params
|
|
5
5
|
end
|
|
6
6
|
|
|
7
7
|
def render_part(part, _opts, _params)
|
|
@@ -12,6 +12,14 @@ module Pubid::Iho::Renderer
|
|
|
12
12
|
" Ap. #{appendix}"
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
+
def render_annex(annex, _opts, _params)
|
|
16
|
+
" Annex #{annex}"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def render_supplement(supplement, _opts, _params)
|
|
20
|
+
" Suppl #{supplement}"
|
|
21
|
+
end
|
|
22
|
+
|
|
15
23
|
def render_version(version, _opts, _params)
|
|
16
24
|
" #{version}"
|
|
17
25
|
end
|
data/lib/pubid/iho/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pubid-iho
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.15.
|
|
4
|
+
version: 1.15.16
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: parslet
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - '='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 1.15.
|
|
33
|
+
version: 1.15.16
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - '='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 1.15.
|
|
40
|
+
version: 1.15.16
|
|
41
41
|
description: Library to generate, parse and manipulate IHO PubID.
|
|
42
42
|
email:
|
|
43
43
|
- open.source@ribose.com
|