Method: Cequel::Type::Uuid#cast

Defined in:
lib/cequel/type.rb

#cast(value) ⇒ Object

Since:

  • 1.0.0



437
438
439
440
441
442
443
444
445
446
447
# File 'lib/cequel/type.rb', line 437

def cast(value)
  if value.is_a? Cassandra::Uuid then value
  elsif defined?(SimpleUUID::UUID) && value.is_a?(SimpleUUID::UUID)
    Cassandra::Uuid.new(value.to_i)
  elsif value.is_a?(::Integer) || value.is_a?(::String)
    Cassandra::Uuid.new(value)
  else
    fail ArgumentError,
         "Don't know how to cast #{value.inspect} to a UUID"
  end
end