Class: SquadGoals::Team

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/squad_goals/team.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#client_call

Constructor Details

#initialize(hash) ⇒ Team

Returns a new instance of Team.



7
8
9
10
11
12
# File 'lib/squad_goals/team.rb', line 7

def initialize(hash)
  @id = hash[:id]
  @name = hash[:name]
  @slug = hash[:slug]
  @description = hash[:description]
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



5
6
7
# File 'lib/squad_goals/team.rb', line 5

def description
  @description
end

#idObject (readonly)

Returns the value of attribute id.



5
6
7
# File 'lib/squad_goals/team.rb', line 5

def id
  @id
end

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/squad_goals/team.rb', line 5

def name
  @name
end

#slugObject (readonly)

Returns the value of attribute slug.



5
6
7
# File 'lib/squad_goals/team.rb', line 5

def slug
  @slug
end

Class Method Details

.whitelistObject



33
34
35
# File 'lib/squad_goals/team.rb', line 33

def whitelist
  @whitelist ||= ENV['GITHUB_TEAMS'].split(',').map { |t| t.downcase.strip }
end

Instance Method Details

#add(user) ⇒ Object



26
27
28
29
30
# File 'lib/squad_goals/team.rb', line 26

def add(user)
  response = client_call :add_team_membership, id, user
  dalli.flush
  response
end

#member?(user) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/squad_goals/team.rb', line 22

def member?(user)
  user && members.map { |u| u..downcase }.include?(user.downcase)
end

#membersObject



18
19
20
# File 'lib/squad_goals/team.rb', line 18

def members
  client_call :team_members, id
end

#whitelisted?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/squad_goals/team.rb', line 14

def whitelisted?
  Team.whitelist.include?(slug)
end