pubid-iso 0.1.6 → 0.1.7
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/iso/amendment.rb +14 -0
- data/lib/pubid/iso/corrigendum.rb +14 -0
- data/lib/pubid/iso/identifier/french.rb +6 -14
- data/lib/pubid/iso/identifier/russian.rb +8 -0
- data/lib/pubid/iso/identifier.rb +17 -28
- data/lib/pubid/iso/supplement.rb +37 -0
- data/lib/pubid/iso/urn.rb +3 -17
- data/lib/pubid/iso/version.rb +1 -1
- data/lib/pubid/iso.rb +3 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 821262e1b683c07f484d9102195fe832fd1eb00fb3a6b23f713893f081a527f3
|
4
|
+
data.tar.gz: 105da964ba57e1c703bf4d77f485a3fc981660b218b4bf019376f937758a4f6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e5fb2bdd1b05f02c788f4b546fa0f6b2054ef0ab01dd4b59961e8c92ccd063a95b655d04969062c2d3674ab7511058b22e7882e586c9ae00e666065592cc5d3
|
7
|
+
data.tar.gz: d5ded0494dbf495d81da9a98b25d72ed90303a343159bbe4d30315d857ae19e0824437f0ebbb0e47371c6f89565b39ca9d4f08bdc5b4bc8358656f7a56b54795
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Pubid::Iso
|
2
|
+
class Amendment < Supplement
|
3
|
+
|
4
|
+
def render_pubid
|
5
|
+
stage = render_pubid_stage
|
6
|
+
stage += " " unless stage.size == 0
|
7
|
+
"/#{stage}Amd #{render_pubid_number}"
|
8
|
+
end
|
9
|
+
|
10
|
+
def render_urn
|
11
|
+
"#{render_urn_stage}:amd#{render_urn_number}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Pubid::Iso
|
2
|
+
class Corrigendum < Supplement
|
3
|
+
|
4
|
+
def render_pubid
|
5
|
+
stage = render_pubid_stage
|
6
|
+
stage += " " unless stage.size == 0
|
7
|
+
"/#{stage}Cor #{render_pubid_number}"
|
8
|
+
end
|
9
|
+
|
10
|
+
def render_urn
|
11
|
+
"#{render_urn_stage}:cor#{render_urn_number}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -1,5 +1,9 @@
|
|
1
1
|
module Pubid::Iso
|
2
2
|
class French < Identifier
|
3
|
+
def initialize(**opts)
|
4
|
+
opts.each { |key, value| send("#{key}=", value) }
|
5
|
+
end
|
6
|
+
|
3
7
|
def identifier(with_date, with_language_code)
|
4
8
|
if @type == "Guide"
|
5
9
|
"Guide #{originator}#{stage} #{number}#{part}#{iteration}"\
|
@@ -13,20 +17,8 @@ module Pubid::Iso
|
|
13
17
|
super.map { |copublisher| copublisher.sub("IEC", "CEI") }
|
14
18
|
end
|
15
19
|
|
16
|
-
def
|
17
|
-
|
18
|
-
"Amd.#{@amendment_version}:#{@amendment_number}"
|
19
|
-
else
|
20
|
-
"Amd.#{@amendment_version}"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def corrigendum
|
25
|
-
if @corrigendum_number
|
26
|
-
"Cor.#{@corrigendum_version}:#{@corrigendum_number}"
|
27
|
-
else
|
28
|
-
"Cor.#{@corrigendum_version}"
|
29
|
-
end
|
20
|
+
def supplements
|
21
|
+
super.gsub(" ", ".")
|
30
22
|
end
|
31
23
|
end
|
32
24
|
end
|
@@ -17,6 +17,10 @@ module Pubid::Iso
|
|
17
17
|
"ISP" => "ИСП",
|
18
18
|
}.freeze
|
19
19
|
|
20
|
+
def initialize(**opts)
|
21
|
+
opts.each { |key, value| send("#{key}=", value) }
|
22
|
+
end
|
23
|
+
|
20
24
|
def identifier(with_date, with_language_code)
|
21
25
|
if @type == "Guide"
|
22
26
|
"Руководство #{originator}#{stage} #{number}#{part}#{iteration}"\
|
@@ -37,5 +41,9 @@ module Pubid::Iso
|
|
37
41
|
def stage
|
38
42
|
"#{(@copublisher && ' ') || '/'}#{STAGE[@stage]}" if @stage
|
39
43
|
end
|
44
|
+
|
45
|
+
def supplements
|
46
|
+
super.gsub(" ", ".")
|
47
|
+
end
|
40
48
|
end
|
41
49
|
end
|
data/lib/pubid/iso/identifier.rb
CHANGED
@@ -15,7 +15,21 @@ module Pubid::Iso
|
|
15
15
|
"ar" => "A",
|
16
16
|
}.freeze
|
17
17
|
|
18
|
-
def initialize(
|
18
|
+
def initialize(amendment: nil, amendment_number: nil, amendment_version: nil,
|
19
|
+
amendment_stage: nil,
|
20
|
+
corrigendum: nil, corrigendum_number: nil, corrigendum_version: nil,
|
21
|
+
corrigendum_stage: nil, **opts)
|
22
|
+
if amendment_version
|
23
|
+
@amendment = Amendment.new(number: amendment_number,
|
24
|
+
version: amendment_version,
|
25
|
+
stage: amendment_stage)
|
26
|
+
end
|
27
|
+
if corrigendum_version
|
28
|
+
@corrigendum = Corrigendum.new(number: corrigendum_number,
|
29
|
+
version: corrigendum_version,
|
30
|
+
stage: corrigendum_stage)
|
31
|
+
end
|
32
|
+
|
19
33
|
opts.each { |key, value| send("#{key}=", value.is_a?(Array) && value || value.to_s) }
|
20
34
|
end
|
21
35
|
|
@@ -156,35 +170,10 @@ module Pubid::Iso
|
|
156
170
|
".#{@iteration}" if @iteration
|
157
171
|
end
|
158
172
|
|
159
|
-
def amendment
|
160
|
-
if @amendment_number
|
161
|
-
"Amd #{@amendment_version}:#{@amendment_number}"
|
162
|
-
else
|
163
|
-
"Amd #{@amendment_version}"
|
164
|
-
end
|
165
|
-
end
|
166
|
-
|
167
|
-
def corrigendum
|
168
|
-
if @corrigendum_number
|
169
|
-
"Cor #{@corrigendum_version}:#{@corrigendum_number}"
|
170
|
-
else
|
171
|
-
"Cor #{@corrigendum_version}"
|
172
|
-
end
|
173
|
-
end
|
174
|
-
|
175
173
|
def supplements
|
176
|
-
result = ""
|
177
|
-
if @amendment_version
|
178
|
-
result += (@amendment_stage && "/#{@amendment_stage} ") || "/"
|
179
|
-
result += amendment
|
180
|
-
end
|
181
|
-
|
182
|
-
if @corrigendum_version
|
183
|
-
result += (@corrigendum_stage && "/#{@corrigendum_stage} ") || "/"
|
184
|
-
result += corrigendum
|
185
|
-
end
|
174
|
+
result = @amendment&.version && @amendment.render_pubid || ""
|
186
175
|
|
187
|
-
result
|
176
|
+
result + (@corrigendum&.version && @corrigendum.render_pubid || "")
|
188
177
|
end
|
189
178
|
|
190
179
|
def language(with_language_code = :iso)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Pubid::Iso
|
2
|
+
class Supplement
|
3
|
+
attr_accessor :version, :number, :stage
|
4
|
+
|
5
|
+
def initialize(version:, number:, stage: nil)
|
6
|
+
@version, @number, @stage = version, number, stage
|
7
|
+
end
|
8
|
+
|
9
|
+
def ==(other)
|
10
|
+
other.version == version && (number.nil? || other.number == number) && (stage.nil? || other.stage == stage)
|
11
|
+
end
|
12
|
+
|
13
|
+
def render_pubid_stage
|
14
|
+
((@stage && @stage) || "")
|
15
|
+
end
|
16
|
+
|
17
|
+
def render_pubid_number
|
18
|
+
if @number
|
19
|
+
"#{@version}:#{@number}"
|
20
|
+
else
|
21
|
+
"#{@version}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def render_urn_stage
|
26
|
+
((@stage && ":stage-#{sprintf('%05.2f', Urn::STAGES[@stage.to_sym])}") || "")
|
27
|
+
end
|
28
|
+
|
29
|
+
def render_urn_number
|
30
|
+
if @number
|
31
|
+
":#{@number}:v#{@version}"
|
32
|
+
else
|
33
|
+
":#{@version}:v1"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/pubid/iso/urn.rb
CHANGED
@@ -64,8 +64,6 @@ module Pubid::Iso
|
|
64
64
|
|
65
65
|
return render_stage(@stage) if @stage
|
66
66
|
|
67
|
-
return render_stage(@amendment_stage) if @amendment_stage
|
68
|
-
|
69
67
|
render_stage(@corrigendum_stage) if @corrigendum_stage
|
70
68
|
end
|
71
69
|
|
@@ -100,21 +98,9 @@ module Pubid::Iso
|
|
100
98
|
end
|
101
99
|
|
102
100
|
def supplement
|
103
|
-
result = ""
|
104
|
-
|
105
|
-
|
106
|
-
":amd:#{@amendment_number}:v#{@amendment_version}"
|
107
|
-
else
|
108
|
-
":amd:#{@amendment_version}:v1"
|
109
|
-
end
|
110
|
-
end
|
111
|
-
if @corrigendum
|
112
|
-
result += if @corrigendum_number
|
113
|
-
":cor:#{@corrigendum_number}:v#{@corrigendum_version}"
|
114
|
-
else
|
115
|
-
":cor:#{@corrigendum_version}:v1"
|
116
|
-
end
|
117
|
-
end
|
101
|
+
result = @amendment&.render_urn || ""
|
102
|
+
|
103
|
+
result += @corrigendum&.render_urn || ""
|
118
104
|
|
119
105
|
result
|
120
106
|
end
|
data/lib/pubid/iso/version.rb
CHANGED
data/lib/pubid/iso.rb
CHANGED
@@ -11,6 +11,9 @@ end
|
|
11
11
|
require_relative "iso/errors"
|
12
12
|
require_relative "iso/parser"
|
13
13
|
require_relative "iso/transformer"
|
14
|
+
require_relative "iso/supplement"
|
15
|
+
require_relative "iso/amendment"
|
16
|
+
require_relative "iso/corrigendum"
|
14
17
|
require_relative "iso/identifier"
|
15
18
|
require_relative "iso/identifier/french"
|
16
19
|
require_relative "iso/identifier/russian"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pubid-iso
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-06-
|
11
|
+
date: 2022-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -107,11 +107,14 @@ files:
|
|
107
107
|
- README.adoc
|
108
108
|
- lib/pubid-iso.rb
|
109
109
|
- lib/pubid/iso.rb
|
110
|
+
- lib/pubid/iso/amendment.rb
|
111
|
+
- lib/pubid/iso/corrigendum.rb
|
110
112
|
- lib/pubid/iso/errors.rb
|
111
113
|
- lib/pubid/iso/identifier.rb
|
112
114
|
- lib/pubid/iso/identifier/french.rb
|
113
115
|
- lib/pubid/iso/identifier/russian.rb
|
114
116
|
- lib/pubid/iso/parser.rb
|
117
|
+
- lib/pubid/iso/supplement.rb
|
115
118
|
- lib/pubid/iso/transformer.rb
|
116
119
|
- lib/pubid/iso/urn.rb
|
117
120
|
- lib/pubid/iso/version.rb
|