Sha256: 4ea7b2653a3372ad8b9229ebac1275f6b755c2b6a841e3dbd5a3249861f8dcd2

Contents?: true

Size: 804 Bytes

Versions: 13

Compression:

Stored size: 804 Bytes

Contents

# encoding: utf-8
module Mongoid #:nodoc:
  module Fields #:nodoc:
    module Serializable #:nodoc:

      # Defines the behaviour for BSON::ObjectId fields.
      class ObjectId
        include Serializable

        # Serialize the object from the type defined in the model to a MongoDB
        # compatible object to store.
        #
        # @example Serialize the field.
        #   field.serialize(object)
        #
        # @param [ Object ] object The object to cast.
        #
        # @return [ BSON::ObjectId ] The converted object id.
        #
        # @since 2.1.0
        def serialize(object)
          if object.is_a?(::String)
            BSON::ObjectId.from_string(object) unless object.blank?
          else
            object
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
mongoid-multi-db-3.0.0 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.2.6 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.3.5 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.2.5 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.3.4 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.2.4 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.3.3 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.3.2 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.2.3 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.3.1 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.3.0 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.2.2 lib/mongoid/fields/serializable/object_id.rb
mongoid-2.2.1 lib/mongoid/fields/serializable/object_id.rb