group.rb
415 Bytes
class Group < ApplicationRecord
belongs_to :pool, inverse_of: :groups
has_and_belongs_to_many :users, inverse_of: :groups
validates :name, :pool, presence: true
delegate :name, to: :pool, prefix: true
scope :active, -> { joins(:pool).where(pools: { active: true}) }
scope :for, -> (user_id) {
joins(:users).where('users.id = ?', user_id).distinct
}
def users_count
users.count
end
end