Sha256: 0ee6dda6d8184f83b24daa1ce372231a97da95cf92c26f80a54b77219e7bf133

Contents?: true

Size: 628 Bytes

Versions: 15

Compression:

Stored size: 628 Bytes

Contents

require 'active_support/core_ext/time/zones'

# encoding: UTF-8
module MongoMapper
  module Extensions
    module Time
      def to_mongo(value)
        if !value || '' == value
          nil
        else
          time_class = ::Time.zone || ::Time
          time = value.is_a?(::Time) ? value : time_class.parse(value.to_s)
          at(time.to_i, time.usec / 1000 * 1000).utc
        end
      end

      def from_mongo(value)
        if value and zone = ::Time.zone
          value.in_time_zone(zone)
        else
          value
        end
      end
    end
  end
end

class Time
  extend MongoMapper::Extensions::Time
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
mongo_mapper-0.17.0 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.16.0 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.15.6 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.15.5 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.15.4 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.15.3 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.15.2 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.15.1 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.15.0 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.14.0 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.14.0.rc1 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.13.1 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.13.0 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.13.0.beta2 lib/mongo_mapper/extensions/time.rb
mongo_mapper-0.13.0.beta1 lib/mongo_mapper/extensions/time.rb