diff options
Diffstat (limited to 'activerecord/test/models/car.rb')
-rw-r--r-- | activerecord/test/models/car.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/activerecord/test/models/car.rb b/activerecord/test/models/car.rb new file mode 100644 index 0000000000..3d6a7a96c2 --- /dev/null +++ b/activerecord/test/models/car.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +class Car < ActiveRecord::Base + has_many :bulbs + has_many :all_bulbs, -> { unscope where: :name }, class_name: "Bulb" + has_many :funky_bulbs, class_name: "FunkyBulb", dependent: :destroy + has_many :failed_bulbs, class_name: "FailedBulb", dependent: :destroy + has_many :foo_bulbs, -> { where(name: "foo") }, class_name: "Bulb" + has_many :awesome_bulbs, -> { awesome }, class_name: "Bulb" + + has_one :bulb + + has_many :tyres + has_many :engines, dependent: :destroy, inverse_of: :my_car + has_many :wheels, as: :wheelable, dependent: :destroy + + has_many :price_estimates, as: :estimate_of + + scope :incl_tyres, -> { includes(:tyres) } + scope :incl_engines, -> { includes(:engines) } + + scope :order_using_new_style, -> { order("name asc") } +end + +class CoolCar < Car + default_scope { order("name desc") } +end + +class FastCar < Car + default_scope { order("name desc") } +end |