pubid-core 1.12.4 → 1.12.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: 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