Dicom_UID 0.0.9 → 0.0.10
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/dicom_uid.rb +12 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7bb0f9e5e27cedeefe6733c4d7d60aa663d0f1541b9fedacd52df47d860be73c
|
4
|
+
data.tar.gz: dfb290aa3fc165b704f7990d685501400a382419ca5906b09e3eb1afb812495d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56931092fb2635777a0239f0689a9bf292a90c9f760300d40c06c2806519a32b03edffd4f19594b4cfcbcd2bfdfbd0c0272d9a0dde5305c6ba1dbc932a4a178d
|
7
|
+
data.tar.gz: 4c981202e999df919cd407f21c955b6babb49b142b7120139f8fd9ce2e210f1aaf5466af2c5dd1db1b3f98ca2645aff132cfcd4f796e883ffbf36489c421ea68
|
data/lib/dicom_uid.rb
CHANGED
@@ -57,7 +57,7 @@ module DicomUID#:nodoc:
|
|
57
57
|
|
58
58
|
# building the org root
|
59
59
|
org_root = self.random_component(62, odd_byte_boundary) if org_root.empty?# UID needs at least an org root
|
60
|
-
raise LeadingZeroError if
|
60
|
+
raise LeadingZeroError if leading_zero? org_root
|
61
61
|
raise OddByteError if !odd_byte_rule(org_root) and odd_byte_boundary
|
62
62
|
|
63
63
|
# if the fixed size doesn't exist, a random one is created, but
|
@@ -66,7 +66,8 @@ module DicomUID#:nodoc:
|
|
66
66
|
fixed_size -= 1 if add_missing_dot org_root
|
67
67
|
|
68
68
|
raise OversizedUIDError if fixed_size > 64
|
69
|
-
raise RangeError
|
69
|
+
raise RangeError, 'Size of Org root larger than size provided' if fixed_size < org_root.length
|
70
|
+
raise RangeError, "Size of UID can't be negative" if fixed_size < 0
|
70
71
|
|
71
72
|
# building the suffix
|
72
73
|
self.rand_duid org_root, (fixed_size - org_root.length), odd_byte_boundary
|
@@ -74,11 +75,12 @@ module DicomUID#:nodoc:
|
|
74
75
|
|
75
76
|
|
76
77
|
|
78
|
+
# Return an array of UIDs, from a common org root
|
77
79
|
def self.random_uids org_root, fixed_size, array_size, odd_byte_boundary = true
|
78
|
-
uids = Array.new
|
80
|
+
uids = Array.new array_size
|
79
81
|
|
80
|
-
array_size.times do
|
81
|
-
uids
|
82
|
+
array_size.times do |i|
|
83
|
+
uids[i] = (self.random_dicom_uid org_root.dup, fixed_size, odd_byte_boundary)
|
82
84
|
end
|
83
85
|
|
84
86
|
uids
|
@@ -129,6 +131,11 @@ def odd_byte_rule comp
|
|
129
131
|
end
|
130
132
|
|
131
133
|
|
134
|
+
def leading_zero? org_root
|
135
|
+
org_root[0] == '0' and org_root.length != 1
|
136
|
+
end
|
137
|
+
|
138
|
+
|
132
139
|
|
133
140
|
# EXCEPTIONS
|
134
141
|
|