Sha256: d97335d6fedfde1ba7a541f873892ea808f3c2805c3e9bbfa7f75f5a8c2c4604
Contents?: true
Size: 671 Bytes
Versions: 10
Compression:
Stored size: 671 Bytes
Contents
class Owner < ActiveRecord::Base self.primary_key = :owner_id has_many :pets, -> { order 'pets.name desc' } has_many :toys, :through => :pets belongs_to :last_pet, class_name: 'Pet' scope :including_last_pet, -> { select(%q[ owners.*, ( select p.pet_id from pets p where p.owner_id = owners.owner_id order by p.name desc limit 1 ) as last_pet_id ]).includes(:last_pet) } after_commit :execute_blocks def blocks @blocks ||= [] end def on_after_commit(&block) blocks << block end def execute_blocks blocks.each do |block| block.call(self) end @blocks = [] end end
Version data entries
10 entries across 10 versions & 2 rubygems