Sha256: df87daa3e2bc7665434fbc934ab939967714f23dcafab96533eb1ef80d77decd
Contents?: true
Size: 1.56 KB
Versions: 29
Compression:
Stored size: 1.56 KB
Contents
# frozen_string_literal: true 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
29 entries across 29 versions & 1 rubygems