This repository has been archived by the owner on Jan 2, 2023. It is now read-only.
Allows TimeUuid and Uuid to be compared for equality #111
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, if you try to compare a Uuid and TimeUuid, there's some weirdness because of how Comparable implements ==.
[2] pry(main)> id = Cql::TimeUuid::Generator.new.next
=> #<Cql::TimeUuid:0x00000001d6fe88 @n=198073153519907614003849507369077940458>
[3] pry(main)> id2 = Cql::Uuid.new(id.value)
=> #<Cql::Uuid:0x00000001d9df40 @n=198073153519907614003849507369077940458>
[4] pry(main)> id2 == id
=> true
[5] pry(main)> id == id2
=> false
This patch reverses the order of operations allowing a Uuid and TimeUuid with the same value to be equal.