pubid-core 1.12.4 → 1.12.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 +4 -4
- data/lib/pubid/core/configuration.rb +10 -1
- data/lib/pubid/core/identifier.rb +7 -0
- data/lib/pubid/core/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 820f263f5eb799412cef807145783bd70c29aeb8b75615380bf963d59e085a36
|
4
|
+
data.tar.gz: be7646e893635ad8a8ceb11f13ef0aca7817678e823e5994d353df8b28f9a669
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 369026a954871677ab43d9bdf05c0426a661a769ca264ecb4d83ac2c448b8036fe6baed64ec645361c34eb85bca91a3b26281f4956cbc7aedb190730539b67e0
|
7
|
+
data.tar.gz: f4b6d86709acc7c06d893cad292d8e7cb63ead59abe9cb7a289216d29e408e154751ebb75acfc2a2207564984ef3416ab276bf071e63e86e8b03d666e4961d96
|
@@ -1,14 +1,23 @@
|
|
1
1
|
module Pubid::Core
|
2
2
|
class Configuration
|
3
|
-
attr_accessor :stages, :default_type, :type_class, :types, :type_names,
|
3
|
+
attr_accessor :stages, :default_type, :type_class, :types, :type_names,
|
4
|
+
:stage_class, :typed_stage_class, :prefixes, :identifier_module
|
4
5
|
|
5
6
|
def initialize
|
7
|
+
@identifier_module = identifier_module
|
6
8
|
@type_class = Pubid::Core::Type
|
7
9
|
@stage_class = Pubid::Core::Stage
|
8
10
|
@typed_stage_class = Pubid::Core::TypedStage
|
9
11
|
@types = []
|
10
12
|
end
|
11
13
|
|
14
|
+
def prefixes
|
15
|
+
# return default prefix using module name e.g.
|
16
|
+
# "ISO" for Pubid::Iso::Identifier
|
17
|
+
# "CORE" for Pubid::Core::TestIdentifier
|
18
|
+
@prefixes || [@identifier_module.to_s.split("::")[1].upcase]
|
19
|
+
end
|
20
|
+
|
12
21
|
def typed_stages
|
13
22
|
types.inject({}) do |res, type|
|
14
23
|
res.merge(type::TYPED_STAGES)
|
@@ -36,6 +36,7 @@ module Pubid::Core
|
|
36
36
|
# Parse identifier from title
|
37
37
|
def set_config(config)
|
38
38
|
@config = config
|
39
|
+
@config.identifier_module = self
|
39
40
|
end
|
40
41
|
|
41
42
|
def build_stage(**args)
|
@@ -61,5 +62,11 @@ module Pubid::Core
|
|
61
62
|
def build_typed_stage(**args)
|
62
63
|
@config.typed_stage_class.new(config: @config, **args)
|
63
64
|
end
|
65
|
+
|
66
|
+
def parseable?(pubid)
|
67
|
+
@config.prefixes.any? do |prefix|
|
68
|
+
pubid.start_with?(prefix)
|
69
|
+
end
|
70
|
+
end
|
64
71
|
end
|
65
72
|
end
|
data/lib/pubid/core/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pubid-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.12.
|
4
|
+
version: 1.12.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-
|
11
|
+
date: 2024-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|