Class: KDL::Types::UUID

Inherits:
Value
  • Object
show all
Defined in:
lib/kdl/types/uuid.rb

Constant Summary collapse

RGX =
/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/

Constants inherited from Value

Value::Null

Instance Attribute Summary

Attributes inherited from Value

#format, #type, #value

Class Method Summary collapse

Methods inherited from Value

#as_type, from, #initialize, #stringify_value, #to_s

Constructor Details

This class inherits a constructor from KDL::Value

Class Method Details

.call(value, type = 'uuid') ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
# File 'lib/kdl/types/uuid.rb', line 6

def self.call(value, type = 'uuid')
  return nil unless value.is_a? ::KDL::Value::String

  uuid = value.value.downcase
  raise ArgumentError, "`#{value.value}' is not a valid uuid" unless uuid =~ RGX

  new(uuid, type: type)
end