Class: Team

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Houston::Props
Defined in:
app/models/team.rb

Constant Summary

Constants included from Houston::Props

Houston::Props::VALID_PROP_NAME

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Houston::Props

#get_prop, #props, #update_prop!, #update_props!, valid_prop_name!, valid_prop_name?

Class Method Details

.project_idsObject



29
30
31
# File 'app/models/team.rb', line 29

def project_ids
  projects.ids
end

.projectsObject



25
26
27
# File 'app/models/team.rb', line 25

def projects
  Project.where(team_id: all.select(:id))
end

Instance Method Details

#add_teammate(user_or_id, *desired_roles) ⇒ Object



36
37
38
39
40
41
# File 'app/models/team.rb', line 36

def add_teammate(user_or_id, *desired_roles)
  teammate = roles.find_or_initialize_by((user_or_id.is_a?(User) ? :user : :user_id) => user_or_id)
  teammate.team = self
  teammate.roles = teammate.roles | desired_roles
  teammate.save!
end