Sha256: 98fbe0880bcc729217c77a9052009698add63aa89a59e3459ad5e6b278a90c19
Contents?: true
Size: 1.26 KB
Versions: 8
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true module Mongoid module Extensions module Float # Converts the float into a time as the number of seconds since the epoch. # # @example Convert the float into a time. # 1335532685.117847.__mongoize_time__ # # @return [ Time | ActiveSupport::TimeWithZone ] The time. def __mongoize_time__ ::Time.configured.at(self) end # Is the float a number? # # @example Is the object a number?. # object.numeric? # # @return [ true ] Always true. def numeric? true end module ClassMethods # Turn the object from the ruby type we deal with to a Mongo friendly # type. # # @example Mongoize the object. # Float.mongoize("123.11") # # @param [ Object ] object The object to mongoize. # # @return [ String ] The object mongoized. def mongoize(object) unless object.blank? __numeric__(object).to_f rescue 0.0 else nil end end alias :demongoize :mongoize end end end end ::Float.__send__(:include, Mongoid::Extensions::Float) ::Float.extend(Mongoid::Extensions::Float::ClassMethods)
Version data entries
8 entries across 8 versions & 1 rubygems