module Eco module API module Common module People class DefaultParsers class DateParser < People::BaseParser def process @parsers.define_attribute(:date) do |parser| parser.def_parser do |value| value.is_a?(Array) ? value.map { |v| parse_date(v) } : parse_date(value) end.def_serializer do |value| value.is_a?(Array) ? value.map { |d| d && d.strftime('%Y-%m-%d') } : value && value.strftime('%Y-%m-%d') end end end private def parse_date(value) begin (value.to_s.empty?) ? nil : Date.parse(value) rescue nil end end end end end end end end