Class: Droom::Group
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Droom::Group
- Includes:
- Concerns::Slugged
- Defined in:
- app/models/droom/group.rb
Class Method Summary collapse
Instance Method Summary collapse
- #admit(users) ⇒ Object
- #as_suggestion ⇒ Object
- #attach(doc) ⇒ Object
- #invite_to(event) ⇒ Object
- #invited_to?(event) ⇒ Boolean
- #membership_for(user) ⇒ Object
- #uninvite_from(event) ⇒ Object
Class Method Details
.highlight_fields ⇒ Object
25 26 27 |
# File 'app/models/droom/group.rb', line 25 def self.highlight_fields [:name, :description] end |
Instance Method Details
#admit(users) ⇒ Object
64 65 66 67 |
# File 'app/models/droom/group.rb', line 64 def admit(users) users = *[users].flatten self.users << users end |
#as_suggestion ⇒ Object
93 94 95 96 97 98 99 100 |
# File 'app/models/droom/group.rb', line 93 def as_suggestion { :type => 'group', :prompt => name, :value => name, :id => id } end |
#attach(doc) ⇒ Object
69 70 71 |
# File 'app/models/droom/group.rb', line 69 def attach(doc) # self.documents << doc end |
#invite_to(event) ⇒ Object
77 78 79 |
# File 'app/models/droom/group.rb', line 77 def invite_to(event) group_invitations.where(event_id: event.id).first_or_create end |
#invited_to?(event) ⇒ Boolean
89 90 91 |
# File 'app/models/droom/group.rb', line 89 def invited_to?(event) group_invitations.to_event(event).any? end |
#membership_for(user) ⇒ Object
73 74 75 |
# File 'app/models/droom/group.rb', line 73 def membership_for(user) self.memberships.for(user).first end |
#uninvite_from(event) ⇒ Object
81 82 83 84 85 86 87 |
# File 'app/models/droom/group.rb', line 81 def uninvite_from(event) group_invitation = group_invitations.find_by(event_id: event.id) group_invitation.invitations.to_event(event).each do |invitation| invitation.destroy! end group_invitation.destroy! end |