Sha256: ed76ab83f78e4a76fe76ff708914388180d3a9ce7bd79b5e7bf0c3a468ce7001

Contents?: true

Size: 1.58 KB

Versions: 27

Compression:

Stored size: 1.58 KB

Contents

# frozen_string_literal: true
# encoding: utf-8

module ForeignKeySpec
  class Company
    include Mongoid::Document

    field :c, type: String
    has_many :emails, class_name: 'ForeignKeySpec::Email',
      foreign_key: 'c_ref', primary_key: 'c'
    has_one :founder, class_name: 'ForeignKeySpec::Founder',
      foreign_key: 'c_ref', primary_key: 'c'
  end

  class Email
    include Mongoid::Document

    field :c_ref, type: String
    belongs_to :company, class_name: 'ForeignKeySpec::Company',
      foreign_key: 'c_ref', primary_key: 'c'
  end

  class Founder
    include Mongoid::Document

    field :c_ref, type: String
    belongs_to :company, class_name: 'ForeignKeySpec::Company',
      foreign_key: 'c_ref', primary_key: 'c'
  end

  class Animal
    include Mongoid::Document

    field :a, type: String
    has_and_belongs_to_many :zoos, class_name: 'ForeignKeySpec::Zoo',
      foreign_key: 'z_refs', primary_key: 'z'
  end

  class Zoo
    include Mongoid::Document

    field :z, type: String
    has_and_belongs_to_many :animals, class_name: 'ForeignKeySpec::Animal',
      foreign_key: 'a_refs', primary_key: 'a'
  end

  class ScopedCompany
    include Mongoid::Document

    field :c, type: String
    has_many :emails, class_name: 'ForeignKeySpec::ScopedEmail',
      foreign_key: 'c_ref', primary_key: 'c'
  end

  class ScopedEmail
    include Mongoid::Document

    field :c_ref, type: String
    belongs_to :company, class_name: 'ForeignKeySpec::ScopedCompany',
      foreign_key: 'c_ref', primary_key: 'c'

    field :s, type: String
    default_scope -> { where(s: 'on') }
  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
mongoid-7.3.5 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.3.4 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.1.11 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.2.6 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.3.3 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.3.2 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.2.5 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.1.10 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.1.9 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.2.4 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.3.1 spec/integration/associations/foreign_key_spec_models.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/mongoid-7.1.7/spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.3.0 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.2.3 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.1.8 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.2.2 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.2.1 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.1.7 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.2.0 spec/integration/associations/foreign_key_spec_models.rb
mongoid-7.1.6 spec/integration/associations/foreign_key_spec_models.rb