uuidtools 2.2.0 → 3.0.0
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/CHANGELOG +6 -0
- data/lib/uuidtools/version.rb +2 -2
- data/lib/uuidtools.rb +54 -31
- data/spec/uuidtools/mac_address_spec.rb +17 -3
- data/spec/uuidtools/uuid_creation_spec.rb +31 -30
- data/spec/uuidtools/uuid_parsing_spec.rb +22 -4
- data/uuidtools.gemspec +10 -24
- metadata +3 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a3a7b4cd84917d78bc44482023ea1e337b407b176dda81fc097f1617bfb1545
|
4
|
+
data.tar.gz: 9af85de9393ea8752ee5cba3feff96f2ba7994dd4092bea6dcae5bdb6229c12f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e31987aae1c0376ca5cece706c0532e900c4033cc8923c86aa97aa2cb974fd817dcc5749935be8a525050c6b070ab98d268ebe4b826f508bff041adfe125ee75
|
7
|
+
data.tar.gz: 37ee507b3aa1bef02ebabc4ddfbc496ee3339ef5664134f52ebeb31044e8065935aa39088bfe2b7594745a4ff8d3c0f14b53a098a59d98f9ff54a62148903b69
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== UUIDTools 3.0.0
|
2
|
+
* more strict validation, accept variants with most significant bits set to 1 and 0
|
3
|
+
* v6, v7, v8 UUIDs are now considered valid
|
4
|
+
* better MAC address behavior for container environments
|
5
|
+
* windows MAC address detection now uses a fallback location like other OSes
|
6
|
+
* frozen string literal fixes
|
1
7
|
== UUIDTools 2.2.0
|
2
8
|
* drop support for ruby < 2.3
|
3
9
|
* use Integer vs Fixnum
|
data/lib/uuidtools/version.rb
CHANGED
data/lib/uuidtools.rb
CHANGED
@@ -416,12 +416,7 @@ module UUIDTools
|
|
416
416
|
##
|
417
417
|
# Returns true if this UUID is valid.
|
418
418
|
def valid?
|
419
|
-
|
420
|
-
(1..5).include?(self.version)
|
421
|
-
return true
|
422
|
-
else
|
423
|
-
return false
|
424
|
-
end
|
419
|
+
return self.variant == 0b100 && (1..8).cover?(self.version)
|
425
420
|
end
|
426
421
|
|
427
422
|
##
|
@@ -585,36 +580,47 @@ module UUIDTools
|
|
585
580
|
def self.os_class
|
586
581
|
require 'rbconfig'
|
587
582
|
os_platform = RbConfig::CONFIG['target_os']
|
588
|
-
os_class = nil
|
589
583
|
if (os_platform =~ /win/i && !(os_platform =~ /darwin/i)) ||
|
590
584
|
os_platform =~ /w32/i
|
591
|
-
|
585
|
+
:windows
|
592
586
|
elsif os_platform =~ /solaris/i
|
593
|
-
|
587
|
+
:solaris
|
594
588
|
elsif os_platform =~ /netbsd/i
|
595
|
-
|
589
|
+
:netbsd
|
596
590
|
elsif os_platform =~ /openbsd/i
|
597
|
-
|
591
|
+
:openbsd
|
598
592
|
end
|
599
593
|
end
|
600
594
|
|
601
595
|
# making these class variables helps with testing
|
596
|
+
@ipconfig_command = "ipconfig"
|
597
|
+
@ipconfig_path_default = "c:\\windows\\system32\\ipconfig.exe"
|
602
598
|
@ifconfig_command = "ifconfig"
|
603
599
|
@ifconfig_path_default = "/sbin/ifconfig"
|
604
600
|
@ip_command = "ip"
|
605
601
|
@ip_path_default = "/sbin/ip"
|
606
602
|
|
607
603
|
class << self
|
604
|
+
attr_accessor :ipconfig_command, :ipconfig_path_default
|
608
605
|
attr_accessor :ifconfig_command, :ifconfig_path_default
|
609
606
|
attr_accessor :ip_command, :ip_path_default
|
610
607
|
end
|
611
608
|
|
609
|
+
#
|
610
|
+
# Find the path of the ipconfig command if it is present
|
611
|
+
#
|
612
|
+
def self.ipconfig_path
|
613
|
+
path = `where #{UUID.ipconfig_command}`.strip
|
614
|
+
path = UUID.ipconfig_path_default if path == "" && File.exist?(UUID.ipconfig_path_default)
|
615
|
+
return (path === "" ? nil : path)
|
616
|
+
end
|
617
|
+
|
612
618
|
#
|
613
619
|
# Find the path of the ifconfig(8) command if it is present
|
614
620
|
#
|
615
621
|
def self.ifconfig_path
|
616
622
|
path = `which #{UUID.ifconfig_command} 2>/dev/null`.strip
|
617
|
-
path = UUID.ifconfig_path_default if
|
623
|
+
path = UUID.ifconfig_path_default if path == "" && File.exist?(UUID.ifconfig_path_default)
|
618
624
|
return (path === "" ? nil : path)
|
619
625
|
end
|
620
626
|
|
@@ -623,30 +629,41 @@ module UUIDTools
|
|
623
629
|
#
|
624
630
|
def self.ip_path
|
625
631
|
path = `which #{UUID.ip_command} 2>/dev/null`.strip
|
626
|
-
path = UUID.ip_path_default if
|
632
|
+
path = UUID.ip_path_default if path == "" && File.exist?(UUID.ip_path_default)
|
627
633
|
return (path === "" ? nil : path)
|
628
634
|
end
|
629
635
|
|
636
|
+
#
|
637
|
+
# Call the ipconfig command that is found
|
638
|
+
#
|
639
|
+
def self.ipconfig(all = nil)
|
640
|
+
ipconfig_path = UUID.ipconfig_path
|
641
|
+
command =
|
642
|
+
if ipconfig_path
|
643
|
+
"#{ipconfig_path}#{all ? ' /all' : ''}"
|
644
|
+
end
|
645
|
+
`#{command}` if command
|
646
|
+
end
|
647
|
+
|
630
648
|
#
|
631
649
|
# Call the ifconfig or ip command that is found
|
632
650
|
#
|
633
|
-
def self.ifconfig(all=nil)
|
634
|
-
# find the path of the ifconfig command
|
651
|
+
def self.ifconfig(all = nil)
|
635
652
|
ifconfig_path = UUID.ifconfig_path
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
all_switch = all == nil ? "" : "-a"
|
645
|
-
return `#{ifconfig_path} #{all_switch}` if not ifconfig_path == nil
|
653
|
+
ip_path = UUID.ip_path
|
654
|
+
command =
|
655
|
+
if ifconfig_path
|
656
|
+
"#{ifconfig_path}#{all ? ' -a' : ''}"
|
657
|
+
elsif ip_path
|
658
|
+
"#{ip_path} addr list"
|
659
|
+
end
|
660
|
+
`#{command}` if command
|
646
661
|
end
|
647
662
|
|
648
663
|
# Match and return the first Mac address found
|
649
664
|
def self.first_mac(instring)
|
665
|
+
return nil if instring.nil?
|
666
|
+
|
650
667
|
mac_regexps = [
|
651
668
|
Regexp.new("address:? (#{(["[0-9a-fA-F]{2}"] * 6).join(":")})"),
|
652
669
|
Regexp.new("addr:? (#{(["[0-9a-fA-F]{2}"] * 6).join(":")})"),
|
@@ -679,17 +696,23 @@ module UUIDTools
|
|
679
696
|
# Returns nil if a MAC address could not be found.
|
680
697
|
def self.mac_address
|
681
698
|
if !defined?(@@mac_address)
|
699
|
+
@@mac_address = nil
|
682
700
|
require 'rbconfig'
|
683
701
|
|
684
702
|
os_class = UUID.os_class
|
685
703
|
|
686
704
|
if os_class == :windows
|
687
705
|
begin
|
688
|
-
|
706
|
+
ipconfig_output = UUID.ipconfig(:all)
|
707
|
+
@@mac_address = UUID.first_mac ipconfig_output
|
689
708
|
rescue
|
690
709
|
end
|
691
|
-
else
|
692
|
-
|
710
|
+
else
|
711
|
+
ifconfig_output = UUID.ifconfig(:all)
|
712
|
+
if ifconfig_output
|
713
|
+
# linux, bsd, macos, solaris
|
714
|
+
@@mac_address = UUID.first_mac ifconfig_output
|
715
|
+
end
|
693
716
|
end
|
694
717
|
|
695
718
|
if @@mac_address != nil
|
@@ -753,7 +776,7 @@ module UUIDTools
|
|
753
776
|
##
|
754
777
|
# @api private
|
755
778
|
def self.convert_int_to_byte_string(integer, size)
|
756
|
-
byte_string = ""
|
779
|
+
byte_string = +""
|
757
780
|
if byte_string.respond_to?(:force_encoding)
|
758
781
|
byte_string.force_encoding(Encoding::ASCII_8BIT)
|
759
782
|
end
|
@@ -788,8 +811,8 @@ module UUIDTools
|
|
788
811
|
|
789
812
|
##
|
790
813
|
# Constant Regexp that matches a UUID and captures its components.
|
791
|
-
UUID_REGEXP = Regexp.new("
|
792
|
-
"([0-9a-f]{2})([0-9a-f]{2})-([0-9a-f]{12})
|
814
|
+
UUID_REGEXP = Regexp.new("\\A([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-" +
|
815
|
+
"([0-9a-f]{2})([0-9a-f]{2})-([0-9a-f]{12})\\z")
|
793
816
|
|
794
817
|
##
|
795
818
|
# Constant that represents the DNS namespace.
|
@@ -213,7 +213,8 @@ samples = {
|
|
213
213
|
:openbsd => openbsd_sample,
|
214
214
|
:linux => linux_sample,
|
215
215
|
:linux2 => linux_sample_2,
|
216
|
-
:linuxip => linux_ip_sample
|
216
|
+
:linuxip => linux_ip_sample,
|
217
|
+
:docker => nil
|
217
218
|
}
|
218
219
|
|
219
220
|
macs = {
|
@@ -260,49 +261,57 @@ describe UUIDTools::UUID, "before obtaining a MAC address" do
|
|
260
261
|
end
|
261
262
|
|
262
263
|
it "should parse windows MAC addresses" do
|
263
|
-
# mock
|
264
|
-
allow(UUIDTools::UUID).to receive(:
|
264
|
+
# mock os_class() so that we don't get different mock behavior on windows
|
265
|
+
allow(UUIDTools::UUID).to receive(:os_class) { :windows }
|
266
|
+
allow(UUIDTools::UUID).to receive(:ipconfig) { samples[:windows] }
|
265
267
|
mac = UUIDTools::UUID.mac_address
|
266
268
|
expect(mac).to eql(macs[:windows])
|
267
269
|
end
|
268
270
|
|
269
271
|
it "should parse solaris MAC addresses" do
|
272
|
+
allow(UUIDTools::UUID).to receive(:os_class) { :solaris }
|
270
273
|
allow(UUIDTools::UUID).to receive(:ifconfig) { samples[:solaris] }
|
271
274
|
mac = UUIDTools::UUID.mac_address
|
272
275
|
expect(mac).to eql(macs[:solaris])
|
273
276
|
end
|
274
277
|
|
275
278
|
it "should parse freebsd MAC addresses" do
|
279
|
+
allow(UUIDTools::UUID).to receive(:os_class) { nil }
|
276
280
|
allow(UUIDTools::UUID).to receive(:ifconfig) { samples[:freebsd] }
|
277
281
|
mac = UUIDTools::UUID.mac_address
|
278
282
|
expect(mac).to eql(macs[:freebsd])
|
279
283
|
end
|
280
284
|
|
281
285
|
it "should parse openbsd MAC addresses" do
|
286
|
+
allow(UUIDTools::UUID).to receive(:os_class) { :openbsd }
|
282
287
|
allow(UUIDTools::UUID).to receive(:ifconfig) { samples[:openbsd] }
|
283
288
|
mac = UUIDTools::UUID.mac_address
|
284
289
|
expect(mac).to eql(macs[:openbsd])
|
285
290
|
end
|
286
291
|
|
287
292
|
it "should parse linux MAC addresses with ifconfig" do
|
293
|
+
allow(UUIDTools::UUID).to receive(:os_class) { nil }
|
288
294
|
allow(UUIDTools::UUID).to receive(:ifconfig) { samples[:linux] }
|
289
295
|
mac = UUIDTools::UUID.mac_address
|
290
296
|
expect(mac).to eql(macs[:linux])
|
291
297
|
end
|
292
298
|
|
293
299
|
it "should parse a linux HWaddr address with ifconfig" do
|
300
|
+
allow(UUIDTools::UUID).to receive(:os_class) { nil }
|
294
301
|
allow(UUIDTools::UUID).to receive(:ifconfig) { samples[:linux2] }
|
295
302
|
mac = UUIDTools::UUID.mac_address
|
296
303
|
expect(mac).to eql(macs[:linux2])
|
297
304
|
end
|
298
305
|
|
299
306
|
it "should parse macos MAC addresses with ifconfig" do
|
307
|
+
allow(UUIDTools::UUID).to receive(:os_class) { nil }
|
300
308
|
allow(UUIDTools::UUID).to receive(:ifconfig) { samples[:macos] }
|
301
309
|
mac = UUIDTools::UUID.mac_address
|
302
310
|
expect(mac).to eql(macs[:macos])
|
303
311
|
end
|
304
312
|
|
305
313
|
it "should parse linux MAC addresses with ip" do
|
314
|
+
allow(UUIDTools::UUID).to receive(:os_class) { nil }
|
306
315
|
allow(UUIDTools::UUID).to receive(:ifconfig) { samples[:linuxip] }
|
307
316
|
mac = UUIDTools::UUID.mac_address
|
308
317
|
expect(mac).to eql(macs[:linuxip])
|
@@ -451,4 +460,9 @@ describe UUIDTools::UUID, "before obtaining a MAC address" do
|
|
451
460
|
mac = UUIDTools::UUID.first_mac samples[:linuxip]
|
452
461
|
expect(mac).to eql(macs[:linuxip])
|
453
462
|
end
|
463
|
+
|
464
|
+
it "should return nil when unable to identify the mac address" do
|
465
|
+
mac = UUIDTools::UUID.first_mac nil
|
466
|
+
expect(mac).to be_nil
|
467
|
+
end
|
454
468
|
end
|
@@ -14,6 +14,7 @@ describe UUIDTools::UUID, "when generating" do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should correctly generate timestamp variant UUIDs" do
|
17
|
+
allow(UUIDTools::UUID).to receive(:mac_address) { "aa:bb:cc:dd:ee:ff" }
|
17
18
|
expect(UUIDTools::UUID.timestamp_create).not_to be_random_node_id
|
18
19
|
expect(UUIDTools::UUID.timestamp_create.to_s).not_to eql(
|
19
20
|
UUIDTools::UUID.timestamp_create.to_s
|
@@ -54,77 +55,77 @@ describe UUIDTools::UUID, "when generating" do
|
|
54
55
|
end
|
55
56
|
|
56
57
|
it "should throw an exception if a segment has an invalid value" do
|
57
|
-
expect
|
58
|
+
expect do
|
58
59
|
UUIDTools::UUID.new(-1, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
|
59
|
-
end
|
60
|
-
expect
|
60
|
+
end.to raise_error(ArgumentError)
|
61
|
+
expect do
|
61
62
|
UUIDTools::UUID.new(4294967296, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
|
62
|
-
end
|
63
|
+
end.to raise_error(ArgumentError)
|
63
64
|
end
|
64
65
|
|
65
66
|
it "should throw an exception if a segment has an invalid value" do
|
66
|
-
expect
|
67
|
+
expect do
|
67
68
|
UUIDTools::UUID.new(0, -1, 0, 0, 0, [0, 0, 0, 0, 0, 0])
|
68
|
-
end
|
69
|
-
expect
|
69
|
+
end.to raise_error(ArgumentError)
|
70
|
+
expect do
|
70
71
|
UUIDTools::UUID.new(0, 65536, 0, 0, 0, [0, 0, 0, 0, 0, 0])
|
71
|
-
end
|
72
|
+
end.to raise_error(ArgumentError)
|
72
73
|
end
|
73
74
|
|
74
75
|
it "should throw an exception if a segment has an invalid value" do
|
75
|
-
expect
|
76
|
+
expect do
|
76
77
|
UUIDTools::UUID.new(0, 0, -1, 0, 0, [0, 0, 0, 0, 0, 0])
|
77
|
-
end
|
78
|
-
expect
|
78
|
+
end.to raise_error(ArgumentError)
|
79
|
+
expect do
|
79
80
|
UUIDTools::UUID.new(0, 0, 65536, 0, 0, [0, 0, 0, 0, 0, 0])
|
80
|
-
end
|
81
|
+
end.to raise_error(ArgumentError)
|
81
82
|
end
|
82
83
|
|
83
84
|
it "should throw an exception if a segment has an invalid value" do
|
84
|
-
expect
|
85
|
+
expect do
|
85
86
|
UUIDTools::UUID.new(0, 0, 0, -1, 0, [0, 0, 0, 0, 0, 0])
|
86
|
-
end
|
87
|
-
expect
|
87
|
+
end.to raise_error(ArgumentError)
|
88
|
+
expect do
|
88
89
|
UUIDTools::UUID.new(0, 0, 0, 256, 0, [0, 0, 0, 0, 0, 0])
|
89
|
-
end
|
90
|
+
end.to raise_error(ArgumentError)
|
90
91
|
end
|
91
92
|
|
92
93
|
it "should throw an exception if a segment has an invalid value" do
|
93
|
-
expect
|
94
|
+
expect do
|
94
95
|
UUIDTools::UUID.new(0, 0, 0, 0, -1, [0, 0, 0, 0, 0, 0])
|
95
|
-
end
|
96
|
-
expect
|
96
|
+
end.to raise_error(ArgumentError)
|
97
|
+
expect do
|
97
98
|
UUIDTools::UUID.new(0, 0, 0, 0, 256, [0, 0, 0, 0, 0, 0])
|
98
|
-
end
|
99
|
+
end.to raise_error(ArgumentError)
|
99
100
|
end
|
100
101
|
|
101
102
|
it "should throw an exception if nodes are not a collection" do
|
102
|
-
expect
|
103
|
+
expect do
|
103
104
|
UUIDTools::UUID.new(0, 0, 0, 0, 0, :bogus)
|
104
|
-
end
|
105
|
+
end.to raise_error(TypeError)
|
105
106
|
end
|
106
107
|
|
107
108
|
it "should throw an exception if nodes are the wrong size" do
|
108
|
-
expect
|
109
|
+
expect do
|
109
110
|
UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0])
|
110
|
-
end
|
111
|
+
end.to raise_error(ArgumentError)
|
111
112
|
end
|
112
113
|
|
113
114
|
it "should throw an exception if any nodes have invalid values" do
|
114
|
-
expect
|
115
|
+
expect do
|
115
116
|
UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 256])
|
116
|
-
end
|
117
|
+
end.to raise_error(ArgumentError)
|
117
118
|
end
|
118
119
|
|
119
120
|
it "should throw an exception if parsing anything but a String" do
|
120
|
-
expect
|
121
|
+
expect do
|
121
122
|
UUIDTools::UUID.parse(:bogus)
|
122
|
-
end
|
123
|
+
end.to raise_error(TypeError)
|
123
124
|
end
|
124
125
|
|
125
126
|
it "should throw an exception if raw parsing anything but a String" do
|
126
|
-
expect
|
127
|
+
expect do
|
127
128
|
UUIDTools::UUID.parse_raw(:bogus)
|
128
|
-
end
|
129
|
+
end.to raise_error(TypeError)
|
129
130
|
end
|
130
131
|
end
|
@@ -25,6 +25,7 @@ describe UUIDTools::UUID, "when parsing" do
|
|
25
25
|
end
|
26
26
|
|
27
27
|
it "should not treat a timestamp version UUID as a random node UUID" do
|
28
|
+
allow(UUIDTools::UUID).to receive(:mac_address) { "aa:bb:cc:dd:ee:ff" }
|
28
29
|
expect(UUIDTools::UUID.timestamp_create).not_to be_random_node_id
|
29
30
|
end
|
30
31
|
|
@@ -64,6 +65,22 @@ describe UUIDTools::UUID, "when parsing" do
|
|
64
65
|
expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).not_to be_valid
|
65
66
|
end
|
66
67
|
|
68
|
+
it "should not identify UUIDs prefixed by other strings as valid" do
|
69
|
+
expect do
|
70
|
+
UUIDTools::UUID.parse("bogus\n#{UUIDTools::UUID.random_create}")
|
71
|
+
end.to raise_error(ArgumentError)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should not identify UUIDs suffixed by other strings as valid" do
|
75
|
+
expect do
|
76
|
+
UUIDTools::UUID.parse("#{UUIDTools::UUID.random_create}\nbogus")
|
77
|
+
end.to raise_error(ArgumentError)
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should parse v7 UUIDs as valid" do
|
81
|
+
expect(UUIDTools::UUID.parse("01957ca6-fc1a-7322-956e-e9e6c53cab55")).to be_valid
|
82
|
+
end
|
83
|
+
|
67
84
|
it "should allow for sorting of UUID arrays" do
|
68
85
|
uuids = []
|
69
86
|
1000.times do
|
@@ -129,12 +146,13 @@ describe UUIDTools::UUID, "when parsing" do
|
|
129
146
|
it "should correctly parse raw bytes" do
|
130
147
|
# NOTE: Short Input
|
131
148
|
expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).to eql(
|
132
|
-
UUIDTools::UUID.parse_raw("")
|
149
|
+
UUIDTools::UUID.parse_raw(+"")
|
150
|
+
)
|
133
151
|
|
134
152
|
# NOTE: Nil Input
|
135
|
-
expect(
|
136
|
-
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
137
|
-
)
|
153
|
+
expect(
|
154
|
+
UUIDTools::UUID.parse_raw(+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
|
155
|
+
).to be_nil_uuid
|
138
156
|
|
139
157
|
# NOTE: Realistic Input
|
140
158
|
uuid = UUIDTools::UUID.timestamp_create
|
data/uuidtools.gemspec
CHANGED
@@ -1,42 +1,28 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: uuidtools
|
2
|
+
# stub: uuidtools 3.0.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "uuidtools".freeze
|
6
|
-
s.version = "
|
6
|
+
s.version = "3.0.0".freeze
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Bob Aman".freeze]
|
11
|
-
s.date = "
|
11
|
+
s.date = "2025-03-09"
|
12
12
|
s.description = "A simple universally unique ID generation library.\n".freeze
|
13
13
|
s.email = "bob@sporkmonger.com".freeze
|
14
14
|
s.extra_rdoc_files = ["README.md".freeze]
|
15
|
-
s.files = ["CHANGELOG".freeze, "LICENSE.txt".freeze, "README.md".freeze, "Rakefile".freeze, "
|
15
|
+
s.files = ["CHANGELOG".freeze, "LICENSE.txt".freeze, "README.md".freeze, "Rakefile".freeze, "lib".freeze, "lib/compat".freeze, "lib/compat/securerandom.rb".freeze, "lib/uuidtools".freeze, "lib/uuidtools.rb".freeze, "lib/uuidtools/version.rb".freeze, "spec".freeze, "spec/spec.opts".freeze, "spec/spec_helper.rb".freeze, "spec/uuidtools".freeze, "spec/uuidtools/mac_address_spec.rb".freeze, "spec/uuidtools/utility_spec.rb".freeze, "spec/uuidtools/uuid_creation_spec.rb".freeze, "spec/uuidtools/uuid_parsing_spec.rb".freeze, "tasks".freeze, "tasks/benchmark.rake".freeze, "tasks/gem.rake".freeze, "tasks/git.rake".freeze, "tasks/metrics.rake".freeze, "tasks/rspec.rake".freeze, "tasks/yard.rake".freeze, "uuidtools.gemspec".freeze, "website".freeze, "website/index.html".freeze]
|
16
16
|
s.homepage = "https://github.com/sporkmonger/uuidtools".freeze
|
17
17
|
s.licenses = ["Apache-2.0".freeze]
|
18
18
|
s.rdoc_options = ["--main".freeze, "README.md".freeze]
|
19
|
-
s.rubygems_version = "3.
|
19
|
+
s.rubygems_version = "3.6.3".freeze
|
20
20
|
s.summary = "UUID generator".freeze
|
21
21
|
|
22
|
-
|
23
|
-
s.specification_version = 4
|
22
|
+
s.specification_version = 4
|
24
23
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
s.add_development_dependency(%q<launchy>.freeze, [">= 2.0.0"])
|
30
|
-
else
|
31
|
-
s.add_dependency(%q<rake>.freeze, [">= 0.7.3"])
|
32
|
-
s.add_dependency(%q<rspec>.freeze, [">= 2.9.0"])
|
33
|
-
s.add_dependency(%q<yard>.freeze, [">= 0.8.2"])
|
34
|
-
s.add_dependency(%q<launchy>.freeze, [">= 2.0.0"])
|
35
|
-
end
|
36
|
-
else
|
37
|
-
s.add_dependency(%q<rake>.freeze, [">= 0.7.3"])
|
38
|
-
s.add_dependency(%q<rspec>.freeze, [">= 2.9.0"])
|
39
|
-
s.add_dependency(%q<yard>.freeze, [">= 0.8.2"])
|
40
|
-
s.add_dependency(%q<launchy>.freeze, [">= 2.0.0"])
|
41
|
-
end
|
24
|
+
s.add_development_dependency(%q<rake>.freeze, [">= 0.7.3".freeze])
|
25
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 2.9.0".freeze])
|
26
|
+
s.add_development_dependency(%q<yard>.freeze, [">= 0.8.2".freeze])
|
27
|
+
s.add_development_dependency(%q<launchy>.freeze, [">= 2.0.0".freeze])
|
42
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uuidtools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bob Aman
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-03-09 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: rake
|
@@ -100,7 +99,6 @@ homepage: https://github.com/sporkmonger/uuidtools
|
|
100
99
|
licenses:
|
101
100
|
- Apache-2.0
|
102
101
|
metadata: {}
|
103
|
-
post_install_message:
|
104
102
|
rdoc_options:
|
105
103
|
- "--main"
|
106
104
|
- README.md
|
@@ -117,8 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
115
|
- !ruby/object:Gem::Version
|
118
116
|
version: '0'
|
119
117
|
requirements: []
|
120
|
-
rubygems_version: 3.
|
121
|
-
signing_key:
|
118
|
+
rubygems_version: 3.6.3
|
122
119
|
specification_version: 4
|
123
120
|
summary: UUID generator
|
124
121
|
test_files: []
|