module UUIDParameter
Constants
- UUID_V4_REGEX
Note the static '4' in the third group: that's the UUID version.
- VERSION
Public Instance Methods
assign_uuid()
click to toggle source
# File lib/uuid_parameter/concern.rb, line 27 def assign_uuid self.uuid ||= SecureRandom.uuid end
existing_uuid_changed?()
click to toggle source
# File lib/uuid_parameter/concern.rb, line 31 def existing_uuid_changed? !new_record? && !uuid_was.nil? && uuid_changed? end
recover_uuid()
click to toggle source
# File lib/uuid_parameter/concern.rb, line 35 def recover_uuid self.uuid = uuid_was if existing_uuid_changed? reset_uuid! unless UUID_V4_REGEX.match?(self.uuid) end
reset_uuid!()
click to toggle source
# File lib/uuid_parameter/concern.rb, line 40 def reset_uuid! self.uuid = nil assign_uuid end
to_param()
click to toggle source
# File lib/uuid_parameter/concern.rb, line 21 def to_param uuid.to_s end
uuid4_validator()
click to toggle source
# File lib/uuid_parameter/concern.rb, line 45 def uuid4_validator errors.add(:uuid, :invalid_random_uuid) unless uuid =~ UUID_V4_REGEX end