Sha256: cab7a0bd973b62439fc14102b0854c4543ae3613cdc742f5ddc5bcc8d1de4049

Contents?: true

Size: 594 Bytes

Versions: 15

Compression:

Stored size: 594 Bytes

Contents

module CassandraObject
  module Types
    class StringType < BaseType
      def encode(str)
        raise ArgumentError.new("#{str.inspect} is not a String") unless str.kind_of?(String)

        unless str.encoding == Encoding::UTF_8
          (str.frozen? ? str.dup : str).force_encoding('UTF-8')
        else
          str
        end
      end

      def decode(str)
        begin
          (str.frozen? ? str.dup : str).force_encoding('UTF-8') if str
        rescue Exception
          str.to_s
        end
      end

      def typecast(value)
        value.to_s
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
extendi-cassandra_object-1.1.1 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.1.0 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.20 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.19 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.18 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.17 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.16 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.15 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.14 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.13 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.12 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.11 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.10 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.9 lib/cassandra_object/types/string_type.rb
extendi-cassandra_object-1.0.8 lib/cassandra_object/types/string_type.rb