Sha256: 17c1f9b8616cfe1ae89716ee45a17a3c742b7513021fa29f17a5ecb5682cfb48

Contents?: true

Size: 717 Bytes

Versions: 66

Compression:

Stored size: 717 Bytes

Contents

# encoding: UTF-8
module MongoMapper
  module Extensions
    module Time
      def to_mongo(value)
        if value.nil? || value == ''
          nil
        else
          time_class = ::Time.try(:zone).present? ? ::Time.zone : ::Time
          time = value.is_a?(::Time) ? value : time_class.parse(value.to_s)
          # strip milliseconds as Ruby does micro and bson does milli and rounding rounded wrong
          at(time.to_i).utc if time
        end
      end

      def from_mongo(value)
        if ::Time.try(:zone).present? && value.present?
          value.in_time_zone(::Time.zone)
        else
          value
        end
      end
    end
  end
end

class Time
  extend MongoMapper::Extensions::Time
end

Version data entries

66 entries across 66 versions & 7 rubygems

Version Path
mongo_mapper-unstable-2010.08.13 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.12 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.11 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.10 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.09 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.8.3 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.08 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.06 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.05 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.04 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.03 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.02 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.08.01 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.07.31 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.07.30 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.07.29 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.07.28 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.07.27 lib/mongo_mapper/extensions/time.rb
thorsson-mongo_mapper-0.8.2 lib/mongo_mapper/extensions/time.rb
mongo_mapper-unstable-2010.07.26 lib/mongo_mapper/extensions/time.rb