Class: Droom::Group

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Concerns::Slugged
Defined in:
app/models/droom/group.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.highlight_fieldsObject



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_suggestionObject



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

Returns:

  • (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