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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2905a611f0bd23030009f14b8f3c9cbe7e24efbf3fdb9c2536fb895526a60706
4
- data.tar.gz: 12380f2b1a7a2875909ac7c82e78eea20901fbe6c602819dc3054d85d31e754e
3
+ metadata.gz: 820f263f5eb799412cef807145783bd70c29aeb8b75615380bf963d59e085a36
4
+ data.tar.gz: be7646e893635ad8a8ceb11f13ef0aca7817678e823e5994d353df8b28f9a669
5
5
  SHA512:
6
- metadata.gz: f5d25ff122a185577e2066ac58146f3b0e00059a41137100aafc6c57e412b5706dcf3b0fc1c4d86e53b413edc3933d2e0e50051b91a3d4ec7864e73116cd9316
7
- data.tar.gz: 909377bfbd364f597ac87b7bb2e95111c453942e51d533ddb147d040298d59035d7c4fd227e5bc402d1b214e6384358ae1a1760104a96d7d9a0844bba30d24ec
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, :stage_class, :typed_stage_class
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
@@ -1,5 +1,5 @@
1
1
  module Pubid
2
2
  module Core
3
- VERSION = "1.12.4".freeze
3
+ VERSION = "1.12.5".freeze
4
4
  end
5
5
  end
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
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-02-03 00:00:00.000000000 Z
11
+ date: 2024-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake