Sha256: 80cfc8901f4b7f0acdb933b4ba279bd3336d7264304c1aa594b9207b17f42705

Contents?: true

Size: 466 Bytes

Versions: 48

Compression:

Stored size: 466 Bytes

Contents

module CassandraObject
  module Types
    class FloatType < BaseType
      REGEX = /\A[-+]?\d+(\.\d+)?\Z/
      def encode(float)
        raise ArgumentError.new("#{self} requires a Float") unless float.kind_of?(Float)
        float.to_s
      end

      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
    end
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
gotime-cassandra_object-2.11.7 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.11.6 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.11.5 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.11.4 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.11.3 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.11.2 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.11.1 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.11.0 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.11 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.10 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.9 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.8 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.7 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.6 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.5 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.4 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.3 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.2 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.1 lib/cassandra_object/types/float_type.rb
gotime-cassandra_object-2.10.0 lib/cassandra_object/types/float_type.rb