Sha256: 3139d85950e08d81417c770a0841eaa8c091116202825c0ed9024eb2e87a4648

Contents?: true

Size: 591 Bytes

Versions: 12

Compression:

Stored size: 591 Bytes

Contents

require 'active_support/core_ext/date/conversions'
require 'active_support/core_ext/string/conversions'

module MongoModel
  module Types
    class Date < Object
      def cast(value)
        case value
        when ::Array
          ::Date.new(*value)
        else
          value.to_date
        end
      rescue
        nil
      end
      
      def to_mongo(value)
        value.strftime("%Y/%m/%d") if value
      end
      
      def from_mongo(value)
        value.to_date if value
      end
    end
  end
end

MongoModel::Types.register_converter(Date, MongoModel::Types::Date.new)

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
mongomodel-0.5.5 lib/mongomodel/support/types/date.rb
mongomodel-0.5.4 lib/mongomodel/support/types/date.rb
mongomodel-0.5.3 lib/mongomodel/support/types/date.rb
mongomodel-0.5.2 lib/mongomodel/support/types/date.rb
mongomodel-0.5.1 lib/mongomodel/support/types/date.rb
mongomodel-0.5.0 lib/mongomodel/support/types/date.rb
mongomodel-0.4.9 lib/mongomodel/support/types/date.rb
mongomodel-0.4.8 lib/mongomodel/support/types/date.rb
mongomodel-0.4.7 lib/mongomodel/support/types/date.rb
mongomodel-0.4.6 lib/mongomodel/support/types/date.rb
mongomodel-0.4.5 lib/mongomodel/support/types/date.rb
mongomodel-0.4.4 lib/mongomodel/support/types/date.rb