lita-team 1.0.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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