Sha256: d7523482f54194f1d87e09239646e43a454541a555822b4d45f49a3ea5755864

Contents?: true

Size: 566 Bytes

Versions: 117

Compression:

Stored size: 566 Bytes

Contents

module CassandraObject
  module Types
    module DateType
      FORMAT = '%Y-%m-%d'
      REGEX = /\A\d{4}-\d{2}-\d{2}\Z/
      def encode(date)
        raise ArgumentError.new("#{self} requires a Date") unless date.kind_of?(Date)
        date.strftime(FORMAT)
      end
      module_function :encode

      def decode(str)
        return nil if str.empty?
        raise ArgumentError.new("Cannot convert #{str} into a Date") unless str.kind_of?(String) && str.match(REGEX)
        Date.strptime(str, FORMAT)
      end
      module_function :decode
    end
  end
end

Version data entries

117 entries across 117 versions & 2 rubygems

Version Path
sessionm-cassandra_object-4.0.32 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.31 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.30 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.29 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.28 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.27 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.26 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.25 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.24 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.23 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.22 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.21 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.20 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-2.7.5 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-2.7.4 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.18 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.17 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.16 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.15 lib/cassandra_object/types/date_type.rb
sessionm-cassandra_object-4.0.14 lib/cassandra_object/types/date_type.rb