Sha256: c4f6ae709dc54ef576cc00e90216ca51e9b0b2b47928ba0863d1ad80fc99f9ae

Contents?: true

Size: 1.52 KB

Versions: 4

Compression:

Stored size: 1.52 KB

Contents

# frozen_string_literal: true
# encoding: utf-8

class HmmCompany
  include Mongoid::Document

  field :p, type: Integer
  has_many :emails, primary_key: :p, foreign_key: :f, class_name: 'HmmEmail'

  # The addresses are added with different dependency mechanisms in tests:
  #has_many :addresses, class_name: 'HmmAddress', dependent: :destroy
end

class HmmEmail
  include Mongoid::Document

  field :f, type: Integer
  belongs_to :company, primary_key: :p, foreign_key: :f, class_name: 'HmmCompany'
end

class HmmAddress
  include Mongoid::Document

  belongs_to :company, class_name: 'HmmCompany'
end

class HmmOwner
  include Mongoid::Document

  has_many :pets, class_name: 'HmmPet', inverse_of: :current_owner

  field :name, type: String
end

class HmmPet
  include Mongoid::Document

  belongs_to :current_owner, class_name: 'HmmOwner', inverse_of: :pets, optional: true
  belongs_to :previous_owner, class_name: 'HmmOwner', inverse_of: nil, optional: true

  field :name, type: String
end

class HmmSchool
  include Mongoid::Document

  has_many :students, class_name: 'HmmStudent'

  field :district, type: String
  field :team, type: String
end

class HmmStudent
  include Mongoid::Document

  belongs_to :school, class_name: 'HmmSchool'

  field :name, type: String
  field :grade, type: Integer, default: 3
end

class HmmTicket
  include Mongoid::Document

  belongs_to :person
end

class HmmBus
  include Mongoid::Document

  has_many :seats, class_name: 'HmmBusSeat'
end

class HmmBusSeat
  include Mongoid::Document

  # No belongs_to :bus
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mongoid-7.3.5 spec/mongoid/association/referenced/has_many_models.rb
mongoid-7.3.4 spec/mongoid/association/referenced/has_many_models.rb
mongoid-7.2.6 spec/mongoid/association/referenced/has_many_models.rb
mongoid-7.3.3 spec/mongoid/association/referenced/has_many_models.rb