Class: Effective::Committee
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Effective::Committee
- Defined in:
- app/models/effective/committee.rb
Instance Method Summary collapse
-
#build_committee_member(user:) ⇒ Object
Find or build.
- #children ⇒ Object
- #committee_member(user:) ⇒ Object
- #emails ⇒ Object
- #to_s ⇒ Object
- #users ⇒ Object
Instance Method Details
#build_committee_member(user:) ⇒ Object
Find or build
49 50 51 |
# File 'app/models/effective/committee.rb', line 49 def build_committee_member(user:) committee_member(user: user) || committee_members.build(user: user) end |
#children ⇒ Object
61 62 63 64 65 |
# File 'app/models/effective/committee.rb', line 61 def children committee_folders .select { |folder| folder.committee_folder_id.blank? } .flat_map { |folder| [folder] + folder.children } end |
#committee_member(user:) ⇒ Object
44 45 46 |
# File 'app/models/effective/committee.rb', line 44 def committee_member(user:) committee_members.find { |member| member.user_id == user.id } end |
#emails ⇒ Object
57 58 59 |
# File 'app/models/effective/committee.rb', line 57 def emails committee_members.reject(&:marked_for_destruction?).select(&:active?).map(&:email).compact.join(', ') end |
#to_s ⇒ Object
40 41 42 |
# File 'app/models/effective/committee.rb', line 40 def to_s title.presence || 'New Committee' end |
#users ⇒ Object
53 54 55 |
# File 'app/models/effective/committee.rb', line 53 def users committee_members.reject(&:marked_for_destruction?).map(&:user) end |