Class: Lita::Handlers::ConfirmMember

Inherits:
Handler
  • Object
show all
Defined in:
lib/lita/handlers/confirm_member.rb

Instance Method Summary collapse

Instance Method Details

#confirm(response) ⇒ Object



17
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
# File 'lib/lita/handlers/confirm_member.rb', line 17

def confirm(response)
  team_name = response.match_data[1]
  if team = get_team(team_name)
    member_name = (response.match_data[3] ||
                   response.user.mention_name).delete("@")
    if member = team[:members][member_name.to_sym]
      member[:confirmed] = true
      unconfirmed = team[:members].count { |_k, v| !v[:confirmed] }
      redis.set(team_name, MultiJson.dump(team))
      response.reply(
        render_template(:member_confirmed,
                        team_name: team_name,
                        member_name: member[:name],
                        count: unconfirmed)
      )
    else
      response.reply(
        t("member.not_in_team",
          team_name: team_name,
          member_name: member_name)
      )
    end
  else
    response.reply(
      render_template(:team_not_found, team_name: team_name)
    )
  end
end