Sha256: 83d00c5b9742608256a1712cbdf62239b344751280aefb974c6c2887487a6a22
Contents?: true
Size: 764 Bytes
Versions: 2
Compression:
Stored size: 764 Bytes
Contents
require 'active_support/all' require 'mongoid' module Mongoid class TimeRange < Hash def initialize(from = Time.now, to = nil) merge! from: from, to: to end [:from, :to].each do |key| define_method key do self[key] end define_method :"#{key}=" do |value| self[key] = value end end alias_method :to_a, :values def mongoize self.class.mongoize(self) end class << self def mongoize(object) { from: Time.mongoize(object[:from]), to: Time.mongoize(object[:to]) } end def demongoize(hash) return if hash.nil? hash = hash.symbolize_keys new(Time.demongoize(hash[:from]), Time.demongoize(hash[:to])) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mongoid-time_range-0.5.1 | lib/mongoid/time_range.rb |
mongoid-time_range-0.5.0 | lib/mongoid/time_range.rb |