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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5cf7d8f6def3ddb0c325cfe8d2dec0404b73996c69f559888d74dad4f6519f1
4
- data.tar.gz: 4ba7a0931d37d6f14f664e230d38610995d281167ab1c0e0ed2ea6355c93a060
3
+ metadata.gz: 3a3a7b4cd84917d78bc44482023ea1e337b407b176dda81fc097f1617bfb1545
4
+ data.tar.gz: 9af85de9393ea8752ee5cba3feff96f2ba7994dd4092bea6dcae5bdb6229c12f
5
5
  SHA512:
6
- metadata.gz: f9ac42163867349a27f20100c859be1103dec0b5c402f7630371d8debadb8a760b399f4f4369a941111987ca53ab68775947431f21ce29c7d267efb2a88fcc2c
7
- data.tar.gz: 20b1d43a62100484f52844a919ba4683ca774da910e572acb865d599af5b6ad795180418746039b7a9b2f24942350a00414ca3309c6987dbf93085330017842c
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
@@ -20,8 +20,8 @@
20
20
  unless defined? UUIDTools::VERSION
21
21
  module UUIDTools
22
22
  module VERSION #:nodoc:
23
- MAJOR = 2
24
- MINOR = 2
23
+ MAJOR = 3
24
+ MINOR = 0
25
25
  TINY = 0
26
26
 
27
27
  STRING = [MAJOR, MINOR, TINY].join('.')
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
- if [0b000, 0b100, 0b110, 0b111].include?(self.variant) &&
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
- os_class = :windows
585
+ :windows
592
586
  elsif os_platform =~ /solaris/i
593
- os_class = :solaris
587
+ :solaris
594
588
  elsif os_platform =~ /netbsd/i
595
- os_class = :netbsd
589
+ :netbsd
596
590
  elsif os_platform =~ /openbsd/i
597
- os_class = :openbsd
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 (path == "" && File.exist?(UUID.ifconfig_path_default))
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 (path == "" && File.exist?(UUID.ip_path_default))
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
- # if it does not exist, try the ip command
638
- if ifconfig_path == nil
639
- ifconfig_path = "#{UUID.ip_path} addr list"
640
- # all makes no sense when using ip(1)
641
- all = nil
642
- end
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
- @@mac_address = UUID.first_mac `ipconfig /all`
706
+ ipconfig_output = UUID.ipconfig(:all)
707
+ @@mac_address = UUID.first_mac ipconfig_output
689
708
  rescue
690
709
  end
691
- else # linux, bsd, macos, solaris
692
- @@mac_address = UUID.first_mac(UUID.ifconfig(:all))
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("^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-" +
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 ifconfig() to return the windows sample
264
- allow(UUIDTools::UUID).to receive(:ifconfig) { samples[:windows] }
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(lambda do
58
+ expect do
58
59
  UUIDTools::UUID.new(-1, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
59
- end).to raise_error(ArgumentError)
60
- expect(lambda do
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).to raise_error(ArgumentError)
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(lambda do
67
+ expect do
67
68
  UUIDTools::UUID.new(0, -1, 0, 0, 0, [0, 0, 0, 0, 0, 0])
68
- end).to raise_error(ArgumentError)
69
- expect(lambda do
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).to raise_error(ArgumentError)
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(lambda do
76
+ expect do
76
77
  UUIDTools::UUID.new(0, 0, -1, 0, 0, [0, 0, 0, 0, 0, 0])
77
- end).to raise_error(ArgumentError)
78
- expect(lambda do
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).to raise_error(ArgumentError)
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(lambda do
85
+ expect do
85
86
  UUIDTools::UUID.new(0, 0, 0, -1, 0, [0, 0, 0, 0, 0, 0])
86
- end).to raise_error(ArgumentError)
87
- expect(lambda do
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).to raise_error(ArgumentError)
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(lambda do
94
+ expect do
94
95
  UUIDTools::UUID.new(0, 0, 0, 0, -1, [0, 0, 0, 0, 0, 0])
95
- end).to raise_error(ArgumentError)
96
- expect(lambda do
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).to raise_error(ArgumentError)
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(lambda do
103
+ expect do
103
104
  UUIDTools::UUID.new(0, 0, 0, 0, 0, :bogus)
104
- end).to raise_error(TypeError)
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(lambda do
109
+ expect do
109
110
  UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0])
110
- end).to raise_error(ArgumentError)
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(lambda do
115
+ expect do
115
116
  UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 256])
116
- end).to raise_error(ArgumentError)
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(lambda do
121
+ expect do
121
122
  UUIDTools::UUID.parse(:bogus)
122
- end).to raise_error(TypeError)
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(lambda do
127
+ expect do
127
128
  UUIDTools::UUID.parse_raw(:bogus)
128
- end).to raise_error(TypeError)
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(UUIDTools::UUID.parse_raw(
136
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
137
- )).to be_nil_uuid
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.2.0 ruby lib
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 = "2.2.0"
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 = "2020-07-09"
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, "doc".freeze, "documentation".freeze, "lib".freeze, "lib/compat".freeze, "lib/compat/securerandom.rb".freeze, "lib/uuidtools".freeze, "lib/uuidtools.rb".freeze, "lib/uuidtools/version.rb".freeze, "pkg".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]
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.0.8".freeze
19
+ s.rubygems_version = "3.6.3".freeze
20
20
  s.summary = "UUID generator".freeze
21
21
 
22
- if s.respond_to? :specification_version then
23
- s.specification_version = 4
22
+ s.specification_version = 4
24
23
 
25
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
- s.add_development_dependency(%q<rake>.freeze, [">= 0.7.3"])
27
- s.add_development_dependency(%q<rspec>.freeze, [">= 2.9.0"])
28
- s.add_development_dependency(%q<yard>.freeze, [">= 0.8.2"])
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: 2.2.0
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: 2020-07-09 00:00:00.000000000 Z
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.0.8
121
- signing_key:
118
+ rubygems_version: 3.6.3
122
119
  specification_version: 4
123
120
  summary: UUID generator
124
121
  test_files: []