2017-07-09 17:41:28 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2010-06-27 15:17:44 +00:00
|
|
|
class Car < ActiveRecord::Base
|
2010-08-13 01:37:48 +00:00
|
|
|
has_many :bulbs
|
2020-04-12 05:17:32 +00:00
|
|
|
has_many :all_bulbs, -> { unscope(where: :name) }, class_name: "Bulb"
|
|
|
|
has_many :all_bulbs2, -> { unscope(:where) }, class_name: "Bulb"
|
|
|
|
has_many :other_bulbs, -> { unscope(where: :name).where(name: "other") }, class_name: "Bulb"
|
|
|
|
has_many :old_bulbs, -> { rewhere(name: "old") }, class_name: "Bulb"
|
2016-08-06 16:26:20 +00:00
|
|
|
has_many :funky_bulbs, class_name: "FunkyBulb", dependent: :destroy
|
|
|
|
has_many :failed_bulbs, class_name: "FailedBulb", dependent: :destroy
|
2016-08-06 17:37:57 +00:00
|
|
|
has_many :foo_bulbs, -> { where(name: "foo") }, class_name: "Bulb"
|
2015-11-15 14:56:52 +00:00
|
|
|
has_many :awesome_bulbs, -> { awesome }, class_name: "Bulb"
|
2011-05-10 22:35:01 +00:00
|
|
|
|
2011-05-12 22:29:07 +00:00
|
|
|
has_one :bulb
|
|
|
|
|
2010-08-03 21:26:59 +00:00
|
|
|
has_many :tyres
|
2016-08-06 17:37:57 +00:00
|
|
|
has_many :engines, dependent: :destroy, inverse_of: :my_car
|
|
|
|
has_many :wheels, as: :wheelable, dependent: :destroy
|
2010-08-03 21:26:59 +00:00
|
|
|
|
2016-08-06 17:37:57 +00:00
|
|
|
has_many :price_estimates, as: :estimate_of
|
2015-11-21 09:58:17 +00:00
|
|
|
|
2012-03-21 22:18:18 +00:00
|
|
|
scope :incl_tyres, -> { includes(:tyres) }
|
|
|
|
scope :incl_engines, -> { includes(:engines) }
|
2010-08-03 21:26:59 +00:00
|
|
|
|
2016-08-06 16:26:20 +00:00
|
|
|
scope :order_using_new_style, -> { order("name asc") }
|
2018-06-09 08:30:00 +00:00
|
|
|
|
|
|
|
attribute :wheels_owned_at, :datetime, default: -> { Time.now }
|
2010-06-27 15:17:44 +00:00
|
|
|
end
|
2010-09-07 17:08:03 +00:00
|
|
|
|
|
|
|
class CoolCar < Car
|
2016-08-06 16:26:20 +00:00
|
|
|
default_scope { order("name desc") }
|
2010-09-07 17:08:03 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
class FastCar < Car
|
2016-08-06 16:26:20 +00:00
|
|
|
default_scope { order("name desc") }
|
2010-09-07 17:08:03 +00:00
|
|
|
end
|