Class: Castkit::Types::Date

Inherits:
Base
  • Object
show all
Defined in:
lib/castkit/types/date.rb

Overview

Type definition for :date attributes.

Handles deserialization from strings and other input into Date objects, and serializes Date values into ISO8601 strings.

This class is used internally by Castkit when an attribute is defined with:

`date :published_on`

Instance Method Summary collapse

Methods inherited from Base

cast!, deserialize, serialize, validate!, #validate!

Instance Method Details

#deserialize(value) ⇒ ::Date

Deserializes the input value to a Date instance.

Parameters:

  • value (Object)

Returns:

  • (::Date)

Raises:

  • (ArgumentError)

    if parsing fails



21
22
23
# File 'lib/castkit/types/date.rb', line 21

def deserialize(value)
  ::Date.parse(value.to_s)
end

#serialize(value) ⇒ String

Serializes a Date object to ISO8601 string format.

Parameters:

  • value (::Date)

Returns:



29
30
31
# File 'lib/castkit/types/date.rb', line 29

def serialize(value)
  value.iso8601
end