Module: CassandraObject::Types::DateType

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

Constant Summary collapse

FORMAT =
'%Y-%m-%d'
REGEX =
/\A\d{4}-\d{2}-\d{2}\Z/

Class Method Summary collapse

Class Method Details

.decode(str) ⇒ Object

Raises:

  • (ArgumentError)


12
13
14
15
16
# File 'lib/cassandra_object/types/date_type.rb', line 12

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

.encode(date) ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
# File 'lib/cassandra_object/types/date_type.rb', line 6

def encode(date)
  raise ArgumentError.new("#{self} requires a Date") unless date.kind_of?(Date)
  date.strftime(FORMAT)
end