Sha256: 3d08582214260896a2a31f494ebb28a51f456abe3d9d120a2b9ec284d2c490ac

Contents?: true

Size: 1.15 KB

Versions: 14

Compression:

Stored size: 1.15 KB

Contents

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

        # Defines the behaviour for array fields.
        class Array
          include Serializable

          # Is the field a BSON::ObjectId?
          #
          # @example Is the field a BSON::ObjectId?
          #   field.object_id_field?
          #
          # @return [ true, false ] If the field is a BSON::ObjectId.
          #
          # @since 2.2.0
          def object_id_field?
            @object_id_field ||=
              metadata.polymorphic? ? true : metadata.klass.using_object_ids?
          end

          # 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 [ Array ] The converted object.
          #
          # @since 2.1.0
          def serialize(object)
            object ? constraint.convert(object) : []
          end
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

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