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