class Effective::Committee

def build_committee_member(user:)

Find or build
def build_committee_member(user:)
  committee_member(user: user) || committee_members.build(user: user)
end

def children

def children
  committee_folders
    .select { |folder| folder.committee_folder_id.blank? }
    .flat_map { |folder| [folder] + folder.children }
end

def committee_member(user:)

def committee_member(user:)
  committee_members.find { |member| member.user_id == user.id }
end

def emails

def emails
  committee_members.reject(&:marked_for_destruction?).select(&:active?).map(&:email).compact.join(', ')
end

def to_s

def to_s
  title.presence || 'New Committee'
end

def users

def users
  committee_members.reject(&:marked_for_destruction?).map(&:user)
end