Sha256: 1a4174bf2d8835ba78c2dc43fa02b6340314acf14aa9732424e5ce46e8af7dc6

Contents?: true

Size: 1.63 KB

Versions: 19

Compression:

Stored size: 1.63 KB

Contents

# frozen_string_literal: true

class EomParent
  include Mongoid::Document
  include Mongoid::Timestamps

  embeds_one :child, class_name: 'EomChild'

  field :name, type: String
end

class EomChild
  include Mongoid::Document

  embedded_in :parent, class_name: 'EomParent'

  field :a, type: Integer, default: 0
  field :b, type: Integer, default: 0
end

# Models with associations with :class_name as a :: prefixed string

class EomCcParent
  include Mongoid::Document

  embeds_one :child, class_name: '::EomCcChild'
end

class EomCcChild
  include Mongoid::Document

  embedded_in :parent, class_name: '::EomCcParent'
end

# Models referencing other models which should not be loaded unless the
# respective association is referenced

autoload :EomDnlMissingChild, 'mongoid/association/embedded/embeds_one_dnl_models'

class EomDnlParent
  include Mongoid::Document

  embeds_one :child, class_name: 'EomDnlChild'
  embeds_one :missing_child, class_name: 'EomDnlMissingChild'
end

autoload :EomDnlMissingParent, 'mongoid/association/embedded/embeds_one_dnl_models'

class EomDnlChild
  include Mongoid::Document

  embedded_in :parent, class_name: 'EomDnlParent'
  embedded_in :missing_parent, class_name: 'EomDnlMissingParent'
end

class EomAddress
  include Mongoid::Document

  field :city, type: String

  embedded_in :addressable, polymorphic: true
end

# app/models/company.rb
class EomCompany
  include Mongoid::Document

  embeds_one :address, class_name: 'EomAddress', as: :addressable
  accepts_nested_attributes_for :address

  embeds_one :delivery_address, class_name: 'EomAddress', as: :addressable
  accepts_nested_attributes_for :delivery_address
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
mongoid-8.1.9 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.9 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.8 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.7 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.6 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.8 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.5 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.4 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.7 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.3 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.2 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.6 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.1 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.5 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.1.0 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.4 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.3 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.2 spec/mongoid/association/embedded/embeds_one_models.rb
mongoid-8.0.1 spec/mongoid/association/embedded/embeds_one_models.rb