glossarist 2.14.8 → 2.14.9.pre.alpha.1
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/glossarist/citation.rb +38 -0
- data/lib/glossarist/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: 4a44ef570dcddda66267ffa8c081d6a768cb34652d32eec1c28ba5f73a44693a
|
|
4
|
+
data.tar.gz: 45db447e51af2dcce1d3af2beec43394b04395506791a76bdfd9949259b033bf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f52184d95196df06b8ca93b3b71a7ca279cfb1627ba39408db76cb20147509e44cc2e231bd5c94a15729575d25386a1941218fad82480570eb59236cb4f986a5
|
|
7
|
+
data.tar.gz: bde585891da84147fc67cad41718c63cba4bb43ad828c3a88f3491a70fd2718aa5b67c2471e49e30b27e88e7ec52c0c66c22825e632344fb685d0a27239a1228
|
data/lib/glossarist/citation.rb
CHANGED
|
@@ -14,6 +14,11 @@ module Glossarist
|
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
+
# Segments that begin the item path of an ISO URN (the "element"
|
|
18
|
+
# segments of ISO 6701-style URNs); everything before the first of
|
|
19
|
+
# these is the cited document's identity.
|
|
20
|
+
URN_ELEMENT_SEGMENTS = %w[tech term doc fig tab sec loc rem].freeze
|
|
21
|
+
|
|
17
22
|
attribute :ref, Ref
|
|
18
23
|
attribute :text, :string
|
|
19
24
|
attribute :locality, Locality
|
|
@@ -40,6 +45,21 @@ module Glossarist
|
|
|
40
45
|
@text || label
|
|
41
46
|
end
|
|
42
47
|
|
|
48
|
+
# The cited document's identity URN — the source URN minus its item
|
|
49
|
+
# path. For "urn:iso:std:iso:10303:-2:ed-1:en:tech:ACTIVITY_MIM"
|
|
50
|
+
# this is "urn:iso:std:iso:10303:-2:ed-1:en". Non-URN sources have
|
|
51
|
+
# no document identity.
|
|
52
|
+
def document_urn
|
|
53
|
+
split_urn_source&.first || urn_source
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# The item path inside the cited document — the URN's element
|
|
57
|
+
# segments ("tech:ACTIVITY_MIM:tech:ACTIVITY_MIM"). Nil when the
|
|
58
|
+
# source is not a URN or carries no element segments.
|
|
59
|
+
def item_path
|
|
60
|
+
split_urn_source&.last
|
|
61
|
+
end
|
|
62
|
+
|
|
43
63
|
def locality_from_yaml(model, value)
|
|
44
64
|
locality = Locality.new
|
|
45
65
|
|
|
@@ -70,5 +90,23 @@ module Glossarist
|
|
|
70
90
|
model.locality.reference_to
|
|
71
91
|
end
|
|
72
92
|
end
|
|
93
|
+
|
|
94
|
+
private
|
|
95
|
+
|
|
96
|
+
def urn_source
|
|
97
|
+
source = ref&.source
|
|
98
|
+
source&.start_with?("urn:") ? source : nil
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def split_urn_source
|
|
102
|
+
source = urn_source
|
|
103
|
+
return nil unless source
|
|
104
|
+
|
|
105
|
+
segments = source.split(":")
|
|
106
|
+
idx = segments.index { |s| URN_ELEMENT_SEGMENTS.include?(s) }
|
|
107
|
+
return nil unless idx
|
|
108
|
+
|
|
109
|
+
[segments[0...idx].join(":"), segments[idx..].join(":")]
|
|
110
|
+
end
|
|
73
111
|
end
|
|
74
112
|
end
|
data/lib/glossarist/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: glossarist
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.14.
|
|
4
|
+
version: 2.14.9.pre.alpha.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: lutaml-model
|