aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models/car.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/models/car.rb')
-rw-r--r--activerecord/test/models/car.rb31
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