Sha256: d41fe71c026ec7c984dc8547400ed919892ac60e2860bf6036b3dbc15a57bc36

Contents?: true

Size: 885 Bytes

Versions: 12

Compression:

Stored size: 885 Bytes

Contents

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

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
eco-helpers-1.5.1 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.5.0 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.4.2 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.3.19 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.4.1 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.4.0 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.3.18 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.3.17 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.3.16 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.3.15 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.3.14 lib/eco/api/common/people/default_parsers/date_parser.rb
eco-helpers-1.3.13 lib/eco/api/common/people/default_parsers/date_parser.rb