Module: CassandraObject::Types::FloatType

Defined in:
lib/cassandra_object/types/float_type.rb

Constant Summary collapse

REGEX =
/\A[-+]?\d+(\.\d+)?\Z/

Class Method Summary collapse

Class Method Details

.decode(str) ⇒ Object

Raises:

  • (ArgumentError)


11
12
13
14
15
# File 'lib/cassandra_object/types/float_type.rb', line 11

def decode(str)
  return nil if str.empty?
  raise ArgumentError.new("Cannot convert #{str} into a Float") unless str.kind_of?(String) && str.match(REGEX)
  str.to_f
end

.encode(float) ⇒ Object

Raises:

  • (ArgumentError)


5
6
7
8
# File 'lib/cassandra_object/types/float_type.rb', line 5

def encode(float)
  raise ArgumentError.new("#{self} requires a Float") unless float.kind_of?(Float)
  float.to_s
end