Dicom_UID 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|