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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +243 -0
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +1 -1
  5. data/README.md +2 -1
  6. data/lib/lita/handlers/add_member_to_team.rb +74 -0
  7. data/lib/lita/handlers/block_team.rb +42 -0
  8. data/lib/lita/handlers/clear_team.rb +38 -0
  9. data/lib/lita/handlers/confirm_member.rb +56 -0
  10. data/lib/lita/handlers/create_team.rb +38 -0
  11. data/lib/lita/handlers/delete_team.rb +26 -0
  12. data/lib/lita/handlers/list_team.rb +36 -0
  13. data/lib/lita/handlers/list_teams.rb +35 -0
  14. data/lib/lita/handlers/remove_member_from_team.rb +63 -0
  15. data/lib/lita/handlers/team.rb +2 -53
  16. data/lib/lita/handlers/update_team.rb +63 -0
  17. data/lib/lita-team.rb +12 -16
  18. data/lita-team.gemspec +2 -2
  19. data/locales/en.yml +21 -15
  20. data/spec/lita/handlers/add_member_to_team_spec.rb +92 -0
  21. data/spec/lita/handlers/block_team_spec.rb +29 -0
  22. data/spec/lita/handlers/clear_team_spec.rb +21 -0
  23. data/spec/lita/handlers/confirm_member_spec.rb +82 -0
  24. data/spec/lita/handlers/create_team_spec.rb +18 -0
  25. data/spec/lita/handlers/delete_team_spec.rb +20 -0
  26. data/spec/lita/handlers/list_team_spec.rb +65 -0
  27. data/spec/lita/handlers/list_teams_spec.rb +26 -0
  28. data/spec/lita/handlers/remove_member_from_team_spec.rb +104 -0
  29. data/spec/lita/handlers/team_spec.rb +0 -199
  30. data/spec/lita/handlers/update_team_spec.rb +41 -0
  31. data/spec/spec_helper.rb +1 -1
  32. data/templates/list_team.erb +8 -5
  33. data/templates/list_teams.erb +2 -8
  34. data/templates/member_added_to_team.erb +2 -2
  35. data/templates/member_confirmed.erb +4 -0
  36. data/templates/member_not_on_team.erb +0 -0
  37. data/templates/member_removed_from_team.erb +3 -3
  38. data/templates/team_already_exists.erb +1 -0
  39. data/templates/team_blocked.erb +1 -0
  40. data/templates/team_cannot_perform_operation.erb +1 -0
  41. data/templates/team_created.erb +1 -0
  42. data/templates/team_deleted.erb +1 -0
  43. data/templates/team_not_found.erb +1 -0
  44. data/templates/team_unblocked.erb +1 -0
  45. data/templates/team_updated.erb +1 -0
  46. metadata +46 -17
  47. data/lib/lita/actions/add_member_to_team.rb +0 -38
  48. data/lib/lita/actions/base.rb +0 -28
  49. data/lib/lita/actions/clear_team.rb +0 -30
  50. data/lib/lita/actions/create_team.rb +0 -21
  51. data/lib/lita/actions/delete_team.rb +0 -21
  52. data/lib/lita/actions/list_team.rb +0 -25
  53. data/lib/lita/actions/list_teams.rb +0 -11
  54. data/lib/lita/actions/remove_member_from_team.rb +0 -37
  55. data/lib/lita/member.rb +0 -17
  56. data/lib/lita/store/member.rb +0 -32
  57. data/lib/lita/store/team.rb +0 -34
  58. 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,11 +0,0 @@
1
- module Lita
2
- module Actions
3
- class ListTeams < Base
4
-
5
- def call
6
- response.reply render_template(:list_teams, teams: Lita::Team.all)
7
- end
8
-
9
- end
10
- end
11
- 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
@@ -1,17 +0,0 @@
1
- module Lita
2
- class Member
3
- attr :name
4
-
5
- def initialize(name)
6
- @name = name
7
- end
8
-
9
- class << self
10
- def all(team_name:)
11
- Lita::Store::Member.all(team_name: team_name).map do |data|
12
- new(data["name"])
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -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
@@ -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