pubid-core 1.8.2 → 1.8.4

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: b29194f7ce41cd26b68b0a47d068c0b5745e86250a922e471c9c615048b52ee3
4
- data.tar.gz: 9fa6099b292239068050ac35090d54b70b5500797d343f51a8c33778ad2259a6
3
+ metadata.gz: b39e42a4a1196d8f3510d93cec936eeef930c49119acf0c898c927fd2c14c12a
4
+ data.tar.gz: 22dbb10b9190cf3d3fb7c4e5ac0a4975f984483434c54572b94db3af8beb17e7
5
5
  SHA512:
6
- metadata.gz: ff08b70ef0786f07120fd78d263b32a1c8b1147ca995445d95051d946c7ce80ca53390b669253e706c4cf8581fdaa52155d03c331559ea13d396bd83a5310731
7
- data.tar.gz: f45e2fa4fb73cd3f1af6e66c0f13f13a055852a85d893eb23330a3f8c5a7dd45baa41cf3dbc4053c3faa45253e8146214c78ee73a293a91116163cba8eabf520
6
+ metadata.gz: 914b8dc3a40f13b95e607bc653e117a6eaecc532fc744dfdb3ef79ff6a01051aaa389db3e1181d107d8365b38704e8d5f3521eed355b14c4bddb5d4b40df5172
7
+ data.tar.gz: 9f5c42f3d069cf23d58bb5361b04296a76be68b2766995d5965c8238c56279fe5f51dd8d72f8aec1abddabc515a69ae753fdafd5b6d5bd665540f7d2aaab9730
@@ -74,47 +74,6 @@ module Pubid::Core
74
74
  self.class.get_renderer_class.new(get_params).render
75
75
  end
76
76
 
77
- # @param typed_stage [String, Symbol] eg. "DTR" or :dtr
78
- # @return [[Symbol, Stage]] typed stage and stage with assigned harmonized codes
79
- def find_typed_stage(typed_stage)
80
- if typed_stage.is_a?(Symbol)
81
- return [typed_stage,
82
- Identifier.build_stage(
83
- harmonized_code: Identifier.build_harmonized_stage_code(self.class::TYPED_STAGES[typed_stage][:harmonized_stages])),
84
- ]
85
- end
86
-
87
- typed_stage = self.class::TYPED_STAGES.find do |_, v|
88
- if v[:abbr].is_a?(Hash)
89
- v[:abbr].value?(typed_stage)
90
- else
91
- if v.key?(:legacy_abbr)
92
- v[:legacy_abbr].include?(typed_stage) || v[:abbr] == typed_stage
93
- else
94
- v[:abbr] == typed_stage
95
- end
96
- #
97
- # v[:abbr] == typed_stage
98
- end
99
- end
100
-
101
- [typed_stage.first,
102
- Identifier.build_stage(
103
- harmonized_code: Identifier.build_harmonized_stage_code(typed_stage[1][:harmonized_stages]))]
104
- end
105
-
106
- # Resolve typed stage using stage harmonized stage code
107
- # @param harmonized_code [HarmonizedStageCode]
108
- # @return [Symbol, nil] typed stage or nil
109
- def resolve_typed_stage(harmonized_code)
110
- self.class::TYPED_STAGES.each do |k, v|
111
- if (v[:harmonized_stages] & harmonized_code.stages) == harmonized_code.stages
112
- return k
113
- end
114
- end
115
- nil
116
- end
117
-
118
77
  class << self
119
78
  # Parses given identifier
120
79
  # @param code_or_params [String, Hash] code or hash from parser
@@ -185,6 +144,10 @@ module Pubid::Core
185
144
  nil
186
145
  end
187
146
 
147
+ def get_identifier
148
+ Identifier
149
+ end
150
+
188
151
  def update_old_code(code)
189
152
  return code unless get_update_codes
190
153
 
@@ -216,6 +179,43 @@ module Pubid::Core
216
179
  def type_match?(parameters)
217
180
  parameters[:type] ? has_type?(parameters[:type]) : has_typed_stage?(parameters[:stage])
218
181
  end
182
+
183
+ # @param typed_stage [String, Symbol] eg. "DTR" or :dtr
184
+ # @return [[Symbol, Stage]] typed stage and stage with assigned harmonized codes
185
+ def find_typed_stage(typed_stage)
186
+ if typed_stage.is_a?(Symbol)
187
+ return [typed_stage,
188
+ get_identifier.build_stage(
189
+ harmonized_code: get_identifier.build_harmonized_stage_code(self::TYPED_STAGES[typed_stage][:harmonized_stages])),
190
+ ]
191
+ end
192
+
193
+ typed_stage = self::TYPED_STAGES.find do |_, v|
194
+ if v[:abbr].is_a?(Hash)
195
+ v[:abbr].value?(typed_stage)
196
+ elsif v.key?(:legacy_abbr)
197
+ v[:legacy_abbr].include?(typed_stage) || v[:abbr] == typed_stage
198
+ else
199
+ v[:abbr] == typed_stage
200
+ end
201
+ end
202
+
203
+ [typed_stage.first,
204
+ get_identifier.build_stage(
205
+ harmonized_code: get_identifier.build_harmonized_stage_code(typed_stage[1][:harmonized_stages]))]
206
+ end
207
+
208
+ # Resolve typed stage using stage harmonized stage code
209
+ # @param harmonized_code [HarmonizedStageCode]
210
+ # @return [Symbol, nil] typed stage or nil
211
+ def resolve_typed_stage(harmonized_code)
212
+ self::TYPED_STAGES.each do |k, v|
213
+ if (v[:harmonized_stages] & harmonized_code.stages) == harmonized_code.stages
214
+ return k
215
+ end
216
+ end
217
+ nil
218
+ end
219
219
  end
220
220
  end
221
221
  end
@@ -1,5 +1,5 @@
1
1
  module Pubid
2
2
  module Core
3
- VERSION = "1.8.2".freeze
3
+ VERSION = "1.8.4".freeze
4
4
  end
5
5
  end
data/lib/pubid-core.rb CHANGED
@@ -1,12 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module Pubid::Core
4
- def self.configuration
5
- @configuration ||= Configuration.new
6
- end
3
+ module Pubid
4
+ module Core
5
+ def self.configuration
6
+ @configuration ||= Configuration.new
7
+ end
7
8
 
8
- def self.configure
9
- yield(configuration)
9
+ def self.configure
10
+ yield(configuration)
11
+ end
10
12
  end
11
13
  end
12
14
 
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.8.2
4
+ version: 1.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-26 00:00:00.000000000 Z
11
+ date: 2023-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake