Skip to content

Commit a7d7e3d

Browse files
committed
Define Digest::UUID.nil_uuid
1 parent d50fc22 commit a7d7e3d

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

activesupport/lib/active_support/core_ext/digest/uuid.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ def self.uuid_v4
5353
SecureRandom.uuid
5454
end
5555

56+
# Returns the nil UUID. This is a special form of UUID that is specified to
57+
# have all 128 bits set to zero.
58+
def self.nil_uuid
59+
"00000000-0000-0000-0000-000000000000"
60+
end
61+
5662
def self.pack_uuid_namespace(namespace)
5763
if [DNS_NAMESPACE, OID_NAMESPACE, URL_NAMESPACE, X500_NAMESPACE].include?(namespace)
5864
namespace

activesupport/test/core_ext/digest/uuid_test.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ def test_v5_uuids_with_rfc4122_namespaced_uuids_enabled
5555
end
5656
end
5757

58+
def test_nil_uuid
59+
assert_equal "00000000-0000-0000-0000-000000000000", Digest::UUID.nil_uuid
60+
end
61+
5862
def test_invalid_hash_class
5963
assert_raise ArgumentError do
6064
Digest::UUID.uuid_from_hash(OpenSSL::Digest::SHA256, Digest::UUID::OID_NAMESPACE, "1.2.3")

0 commit comments

Comments
 (0)