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