Sha256: 2d08009694e355405070f3ea71f21685370c4040ac8a7db731ce59f64b78b7b9

Contents?: true

Size: 1.66 KB

Versions: 8

Compression:

Stored size: 1.66 KB

Contents

# frozen_string_literal: true

class HomCollege
  include Mongoid::Document

  has_one :accreditation, class_name: 'HomAccreditation'

  # The address is added with different dependency mechanisms in tests:
  #has_one :address, class_name: 'HomAddress', dependent: :destroy

  field :state, type: String
end

class HomAccreditation
  include Mongoid::Document

  belongs_to :college, class_name: 'HomCollege'

  field :degree, type: String
  field :year, type: Integer, default: 2012

  def format
    'fmt'
  end

  def price
    42
  end
end

class HomAccreditation::Child
  include Mongoid::Document

  belongs_to :hom_college
end

class HomAddress
  include Mongoid::Document

  belongs_to :college, class_name: 'HomCollege'
end

module HomNs
  class PrefixedParent
    include Mongoid::Document

    has_one :child, class_name: 'PrefixedChild'
  end

  class PrefixedChild
    include Mongoid::Document

    belongs_to :parent, class_name: 'PrefixedParent'
  end
end

class HomPolymorphicParent
  include Mongoid::Document

  has_one :p_child, as: :parent
end

class HomPolymorphicChild
  include Mongoid::Document

  belongs_to :p_parent, polymorphic: true
end

class HomBus
  include Mongoid::Document

  has_one :driver, class_name: 'HomBusDriver'
end

class HomBusDriver
  include Mongoid::Document

  # No belongs_to :bus
end

class HomTrainer
  include Mongoid::Document

  field :name, type: String

  has_one :animal, class_name: 'HomAnimal', scope: :reptile
end

class HomAnimal
  include Mongoid::Document

  field :taxonomy, type: String

  scope :reptile, -> { where(taxonomy: 'reptile') }

  belongs_to :trainer, class_name: 'HomTrainer', scope: -> { where(name: 'Dave') }
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mongoid-7.5.4 spec/mongoid/association/referenced/has_one_models.rb
mongoid-7.5.3 spec/mongoid/association/referenced/has_one_models.rb
mongoid-7.5.2 spec/mongoid/association/referenced/has_one_models.rb
mongoid-7.5.1 spec/mongoid/association/referenced/has_one_models.rb
mongoid-7.4.3 spec/mongoid/association/referenced/has_one_models.rb
mongoid-7.5.0 spec/mongoid/association/referenced/has_one_models.rb
mongoid-7.4.1 spec/mongoid/association/referenced/has_one_models.rb
mongoid-7.4.0 spec/mongoid/association/referenced/has_one_models.rb