lita-team 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +243 -0
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/README.md +2 -1
- data/lib/lita/handlers/add_member_to_team.rb +74 -0
- data/lib/lita/handlers/block_team.rb +42 -0
- data/lib/lita/handlers/clear_team.rb +38 -0
- data/lib/lita/handlers/confirm_member.rb +56 -0
- data/lib/lita/handlers/create_team.rb +38 -0
- data/lib/lita/handlers/delete_team.rb +26 -0
- data/lib/lita/handlers/list_team.rb +36 -0
- data/lib/lita/handlers/list_teams.rb +35 -0
- data/lib/lita/handlers/remove_member_from_team.rb +63 -0
- data/lib/lita/handlers/team.rb +2 -53
- data/lib/lita/handlers/update_team.rb +63 -0
- data/lib/lita-team.rb +12 -16
- data/lita-team.gemspec +2 -2
- data/locales/en.yml +21 -15
- data/spec/lita/handlers/add_member_to_team_spec.rb +92 -0
- data/spec/lita/handlers/block_team_spec.rb +29 -0
- data/spec/lita/handlers/clear_team_spec.rb +21 -0
- data/spec/lita/handlers/confirm_member_spec.rb +82 -0
- data/spec/lita/handlers/create_team_spec.rb +18 -0
- data/spec/lita/handlers/delete_team_spec.rb +20 -0
- data/spec/lita/handlers/list_team_spec.rb +65 -0
- data/spec/lita/handlers/list_teams_spec.rb +26 -0
- data/spec/lita/handlers/remove_member_from_team_spec.rb +104 -0
- data/spec/lita/handlers/team_spec.rb +0 -199
- data/spec/lita/handlers/update_team_spec.rb +41 -0
- data/spec/spec_helper.rb +1 -1
- data/templates/list_team.erb +8 -5
- data/templates/list_teams.erb +2 -8
- data/templates/member_added_to_team.erb +2 -2
- data/templates/member_confirmed.erb +4 -0
- data/templates/member_not_on_team.erb +0 -0
- data/templates/member_removed_from_team.erb +3 -3
- data/templates/team_already_exists.erb +1 -0
- data/templates/team_blocked.erb +1 -0
- data/templates/team_cannot_perform_operation.erb +1 -0
- data/templates/team_created.erb +1 -0
- data/templates/team_deleted.erb +1 -0
- data/templates/team_not_found.erb +1 -0
- data/templates/team_unblocked.erb +1 -0
- data/templates/team_updated.erb +1 -0
- metadata +46 -17
- data/lib/lita/actions/add_member_to_team.rb +0 -38
- data/lib/lita/actions/base.rb +0 -28
- data/lib/lita/actions/clear_team.rb +0 -30
- data/lib/lita/actions/create_team.rb +0 -21
- data/lib/lita/actions/delete_team.rb +0 -21
- data/lib/lita/actions/list_team.rb +0 -25
- data/lib/lita/actions/list_teams.rb +0 -11
- data/lib/lita/actions/remove_member_from_team.rb +0 -37
- data/lib/lita/member.rb +0 -17
- data/lib/lita/store/member.rb +0 -32
- data/lib/lita/store/team.rb +0 -34
- data/lib/lita/team.rb +0 -27
@@ -1,21 +0,0 @@
|
|
1
|
-
module Lita
|
2
|
-
module Actions
|
3
|
-
class CreateTeam < Base
|
4
|
-
|
5
|
-
def call
|
6
|
-
if Lita::Store::Team.create(team_name)
|
7
|
-
response.reply t(:team_created, name: team_name)
|
8
|
-
else
|
9
|
-
response.reply t(:team_already_exists, name: team_name)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def team_name
|
16
|
-
response.match_data[1]
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Lita
|
2
|
-
module Actions
|
3
|
-
class DeleteTeam < Base
|
4
|
-
|
5
|
-
def call
|
6
|
-
if Lita::Store::Team.destroy(team_name)
|
7
|
-
response.reply t(:team_deleted, name: team_name)
|
8
|
-
else
|
9
|
-
response.reply t(:team_not_found, name: team_name)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def team_name
|
16
|
-
response.match_data[2]
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
module Lita
|
2
|
-
module Actions
|
3
|
-
class ListTeam < Base
|
4
|
-
|
5
|
-
def call
|
6
|
-
if team
|
7
|
-
response.reply render_template(:list_team, team: team)
|
8
|
-
else
|
9
|
-
response.reply t(:team_not_found, name: team_name)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def team_name
|
16
|
-
response.match_data[1]
|
17
|
-
end
|
18
|
-
|
19
|
-
def team
|
20
|
-
@team ||= Lita::Team.find(team_name)
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
module Lita
|
2
|
-
module Actions
|
3
|
-
class RemoveMemberFromTeam < Base
|
4
|
-
|
5
|
-
def call
|
6
|
-
if team
|
7
|
-
if destroy_member
|
8
|
-
response.reply render_template(:member_removed_from_team, member: member_name, team: team)
|
9
|
-
else
|
10
|
-
response.reply t(:member_already_out_of_team, member: member_name, team: team_name)
|
11
|
-
end
|
12
|
-
else
|
13
|
-
response.reply t(:team_not_found, name: team_name)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def team_name
|
20
|
-
response.match_data[1]
|
21
|
-
end
|
22
|
-
|
23
|
-
def member_name
|
24
|
-
response.match_data[3] || response.user.mention_name
|
25
|
-
end
|
26
|
-
|
27
|
-
def team
|
28
|
-
@team ||= Lita::Team.find(team_name)
|
29
|
-
end
|
30
|
-
|
31
|
-
def destroy_member
|
32
|
-
Lita::Store::Member.destroy(member_name: member_name, team_name: team_name)
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/lib/lita/member.rb
DELETED
data/lib/lita/store/member.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
module Lita
|
2
|
-
module Store
|
3
|
-
module Member
|
4
|
-
extend self
|
5
|
-
|
6
|
-
def redis
|
7
|
-
@redis ||= Redis::Namespace.new("handlers:team:member", redis: Lita.redis)
|
8
|
-
end
|
9
|
-
|
10
|
-
def create(member_name:, team_name:)
|
11
|
-
redis.hsetnx("#{ team_name }:#{ member_name }", :name, member_name)
|
12
|
-
end
|
13
|
-
|
14
|
-
def destroy(member_name:, team_name:)
|
15
|
-
redis.del("#{ team_name }:#{ member_name }") != 0
|
16
|
-
end
|
17
|
-
|
18
|
-
def destroy_all(team_name:)
|
19
|
-
redis.keys("#{ team_name }:*").each do |key|
|
20
|
-
redis.del(key)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def all(team_name:)
|
25
|
-
redis.keys("#{ team_name }:*").sort.map do |key|
|
26
|
-
redis.hgetall(key)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
data/lib/lita/store/team.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
module Lita
|
2
|
-
module Store
|
3
|
-
module Team
|
4
|
-
extend self
|
5
|
-
|
6
|
-
def redis
|
7
|
-
@redis ||= Redis::Namespace.new("handlers:team:team", redis: Lita.redis)
|
8
|
-
end
|
9
|
-
|
10
|
-
def find(team_name)
|
11
|
-
redis.hgetall(team_name)
|
12
|
-
end
|
13
|
-
|
14
|
-
def exists?(team_name)
|
15
|
-
redis.exists(team_name)
|
16
|
-
end
|
17
|
-
|
18
|
-
def create(team_name)
|
19
|
-
redis.hsetnx(team_name, :name, team_name)
|
20
|
-
end
|
21
|
-
|
22
|
-
def destroy(team_name)
|
23
|
-
redis.del(team_name) != 0
|
24
|
-
end
|
25
|
-
|
26
|
-
def all
|
27
|
-
redis.keys.sort.map do |key|
|
28
|
-
redis.hgetall(key)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
data/lib/lita/team.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
module Lita
|
2
|
-
class Team
|
3
|
-
attr :name
|
4
|
-
|
5
|
-
def initialize(name)
|
6
|
-
@name = name
|
7
|
-
end
|
8
|
-
|
9
|
-
class << self
|
10
|
-
def find(name)
|
11
|
-
return nil unless Lita::Store::Team.exists?(name)
|
12
|
-
new(Lita::Store::Team.find(name)["name"])
|
13
|
-
end
|
14
|
-
|
15
|
-
def all
|
16
|
-
Lita::Store::Team.all.map do |data|
|
17
|
-
new(data["name"])
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def members
|
23
|
-
@members ||= Lita::Member.all(team_name: name)
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|