18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/lita/handlers/add_member_to_team.rb', line 18
def add(response)
team_name = response.match_data[1]
if team = get_team(team_name)
if team[:limit] && team[:limit] <= team[:members].count
return response.reply(
render_template(:team_cannot_perform_operation,
team_name: team_name)
)
end
member_name = (response.match_data[3] ||
response.user.mention_name).delete("@")
if team[:members].key?(member_name.to_sym)
return response.reply(
t("member.already_in_team",
team_name: team_name,
member_name: member_name)
)
end
member = member_data(member_name)
count_was = team[:members].count
team[:members][member_name] = member
redis.set(team_name, MultiJson.dump(team))
response.reply(
render_template(:member_added_to_team,
team_name: team_name,
member_name: member[:name],
count: count_was)
)
else
response.reply(render_template(:team_not_found, team_name: team_name))
end
end
|