Sha256: 9bee7c9605e98bcb1b23109e2c58c200ac2148d25a1ae5bd350bbf58c553d61b

Contents?: true

Size: 582 Bytes

Versions: 3

Compression:

Stored size: 582 Bytes

Contents

class RestModel
  module Serialization
    class Date
      def self.serialize(value, options = {})
        ::Date.parse value
      rescue
        raise SerializationError, "value '#{value}' is an invalid date"
      end

      def self.desserialize(value, options = {})
        date = value.kind_of?(::Date) ? value : ::Date.parse(value)
        format = options.fetch(:format, RestModel::Configuration.date_format)
        format ? date.strftime(format) : date.to_s
      rescue
        raise SerializationError, "value '#{value}' is an invalid date"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rest_model-0.3.1 lib/rest_model/serialization/date.rb
rest_model-0.3.0 lib/rest_model/serialization/date.rb
rest_model-0.2.3 lib/rest_model/serialization/date.rb