Sha256: bbb9960b636e56b68a8e6ef664aee17a8f5c1324b8c4d6993ba6deead2dd0c58

Contents?: true

Size: 599 Bytes

Versions: 6

Compression:

Stored size: 599 Bytes

Contents

# encoding: UTF-8
module MarkMapper
  module Extensions
    module Date
      def to_marklogic(value)
        if value.nil? || (value.instance_of?(String) && '' === value)
          nil
        else
          date = value.instance_of?(::Date) || value.instance_of?(::Time) ? value : ::Date.parse(value.to_s)
          ::Time.utc(date.year, date.month, date.day)
        end
      rescue
        nil
      end

      def from_marklogic(value)
        value.to_date if value
      end

      def xs_type
        "date"
      end
    end
  end
end

class Date
  extend MarkMapper::Extensions::Date
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mark_mapper-0.0.6 lib/mark_mapper/extensions/date.rb
mark_mapper-0.0.5 lib/mark_mapper/extensions/date.rb
mark_mapper-0.0.4 lib/mark_mapper/extensions/date.rb
mark_mapper-0.0.3 lib/mark_mapper/extensions/date.rb
mark_mapper-0.0.2 lib/mark_mapper/extensions/date.rb
mark_mapper-0.0.1 lib/mark_mapper/extensions/date.rb