lib/lutaml/model/type/date.rb
module Lutaml module Model module Type class Date < Value def self.cast(value) return nil if value.nil? case value when ::DateTime, ::Time value.to_date when ::Date value else ::Date.parse(value.to_s) end rescue ArgumentError nil end # xs:date format def self.serialize(value) return nil if value.nil? value&.iso8601 end # This is to handle where Ruby's YAML safe_load does not handle # the Date/Time classes def to_yaml value&.iso8601.to_s end end end end end