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
@@ -0,0 +1,104 @@
1
+ require "spec_helper"
2
+
3
+ describe Lita::Handlers::RemoveMemberFromTeam,
4
+ lita_handler: true,
5
+ additional_lita_handlers:
6
+ [
7
+ Lita::Handlers::CreateTeam,
8
+ Lita::Handlers::BlockTeam,
9
+ Lita::Handlers::AddMemberToTeam
10
+ ] do
11
+ describe "remove member from team" do
12
+ it "removes a member from the team" do
13
+ send_command "create testing team"
14
+ send_command "testing team add mel"
15
+ send_command "testing team remove mel"
16
+ expect(replies.last).to eq("mel removed from the testing team")
17
+ end
18
+
19
+ context "me" do
20
+ it "removes current user from the team" do
21
+ send_command "create testing team"
22
+ send_command "testing team add me"
23
+ send_command "testing team remove me"
24
+ expect(replies.last).to eq("#{user.name} removed from the testing team")
25
+ end
26
+ end
27
+
28
+ context "+1" do
29
+ it "removes current user from the team" do
30
+ send_command "create testing team"
31
+ send_command "testing team +1"
32
+ send_command "testing team -1"
33
+ expect(replies.last).to eq("#{user.name} removed from the testing team")
34
+ end
35
+ end
36
+
37
+ context "mention" do
38
+ it "uses the lita users database" do
39
+ send_command "create testing team"
40
+ send_command "testing team add @Test"
41
+ send_command "testing team remove @Test"
42
+ expect(replies.last).to eq("Test User removed from the testing team")
43
+ end
44
+
45
+ it "removes @ from non-existing users" do
46
+ send_command "create testing team"
47
+ send_command "testing team add @james"
48
+ send_command "testing team remove @james"
49
+ expect(replies.last).to eq("james removed from the testing team")
50
+ end
51
+ end
52
+
53
+ context "there are members in the team" do
54
+ before do
55
+ send_command "create testing team"
56
+ send_command "testing team add john"
57
+ send_command "testing team add james"
58
+ end
59
+ context "there is a member in the team" do
60
+ it "removes the member and displays a message" do
61
+ send_command "testing team remove james"
62
+ expect(replies.last).
63
+ to eq("james removed from the testing team, 1 other is in")
64
+ end
65
+ end
66
+
67
+ context "there are two or more members in the team" do
68
+ it "adds the member and shows a message" do
69
+ send_command "testing team add robert"
70
+ send_command "testing team remove robert"
71
+ expect(replies.last).
72
+ to eq("robert removed from the testing team, 2 others are in")
73
+ end
74
+ end
75
+ end
76
+
77
+ context "the member is not in the team" do
78
+ it "does not remove anyone" do
79
+ send_command "create testing team"
80
+ send_command "testing team remove john"
81
+ expect(replies.last).to eq("john is not on the testing team")
82
+ end
83
+ end
84
+
85
+ context "team does not exist" do
86
+ it "does not remove the member" do
87
+ send_command "testing team remove john"
88
+ expect(replies.last).to eq("testing team does not exist")
89
+ end
90
+ end
91
+
92
+ context "team blocked" do
93
+ it "does not remove the member" do
94
+ send_command "create testing team"
95
+ send_command "testing team add jhon"
96
+ send_command "block testing team"
97
+ send_command "testing team remove jhon"
98
+ reply =
99
+ "testing team is blocked. You cannot perform this operation"
100
+ expect(replies.last).to eq(reply)
101
+ end
102
+ end
103
+ end
104
+ end
@@ -1,203 +1,4 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Lita::Handlers::Team, lita_handler: true do
4
- describe "create team" do
5
- it "creates a new team" do
6
- send_command "create testing team"
7
- expect(replies.last).to eq("testing team created, add some people to it")
8
- end
9
-
10
- context "team already exists" do
11
- it "does not create a new team" do
12
- send_command "create testing team"
13
- send_command "create testing team"
14
- expect(replies.last).to eq("testing team already exists")
15
- end
16
- end
17
- end
18
-
19
- describe "delete team" do
20
- it "deletes a team" do
21
- send_command "create testing team"
22
- send_command "delete testing team"
23
- expect(replies.last).to eq("testing team deleted")
24
- end
25
-
26
- context "team does not exist" do
27
- it "does not delete a team" do
28
- send_command "delete testing team"
29
- expect(replies.last).to eq("testing team does not exist")
30
- end
31
- end
32
- end
33
-
34
- describe "list teams" do
35
- it "list all teams" do
36
- send_command "create testing team"
37
- send_command "create qa team"
38
- send_command "list teams"
39
- expect(replies.last).to eq("Teams:\nqa (0 members)\ntesting (0 members)\n")
40
- end
41
-
42
- context "without teams" do
43
- it "shows a message" do
44
- send_command "list teams"
45
- expect(replies.last).to eq("No team has been created so far")
46
- end
47
- end
48
- end
49
-
50
- describe "add member to team" do
51
- it "adds a member to the team" do
52
- send_command "create testing team"
53
- send_command "testing team add john"
54
- expect(replies.last).to eq("john added to the testing team")
55
- end
56
-
57
- context "me" do
58
- it "adds current user to the team" do
59
- send_command "create testing team"
60
- send_command "testing team add me"
61
- expect(replies.last).to eq("#{user.name} added to the testing team")
62
- end
63
- end
64
-
65
- context "+1" do
66
- it "adds current user to the team" do
67
- send_command "create testing team"
68
- send_command "testing team +1"
69
- expect(replies.last).to eq("#{user.name} added to the testing team")
70
- end
71
- end
72
-
73
- context "there is a member in the team" do
74
- it "adds the member and shows a message" do
75
- send_command "create testing team"
76
- send_command "testing team add john"
77
- send_command "testing team add james"
78
- expect(replies.last).to eq("james added to the testing team, 1 other is in")
79
- end
80
- end
81
-
82
- context "there are two or more members in the team" do
83
- it "adds the member and shows a message" do
84
- send_command "create testing team"
85
- send_command "testing team add john"
86
- send_command "testing team add james"
87
- send_command "testing team add robert"
88
- expect(replies.last).to eq("robert added to the testing team, 2 others are in")
89
- end
90
- end
91
-
92
- context "the member is already in the team" do
93
- it "does not add the member to the team" do
94
- send_command "create testing team"
95
- send_command "testing team add john"
96
- send_command "testing team add john"
97
- expect(replies.last).to eq("john already in the testing team")
98
- end
99
- end
100
-
101
- context "team does not exist" do
102
- it "does not add the member" do
103
- send_command "testing team add john"
104
- expect(replies.last).to eq("testing team does not exist")
105
- end
106
- end
107
- end
108
-
109
- describe "remove member from team" do
110
- it "removes a member from the team" do
111
- send_command "create testing team"
112
- send_command "testing team add john"
113
- send_command "testing team remove john"
114
- expect(replies.last).to eq("john removed from the testing team")
115
- end
116
-
117
- context "me" do
118
- it "removes current user from the team" do
119
- send_command "create testing team"
120
- send_command "testing team add me"
121
- send_command "testing team remove me"
122
- expect(replies.last).to eq("#{user.name} removed from the testing team")
123
- end
124
- end
125
-
126
- context "-1" do
127
- it "removes current user from the team" do
128
- send_command "create testing team"
129
- send_command "testing team +1"
130
- send_command "testing team -1"
131
- expect(replies.last).to eq("#{user.name} removed from the testing team")
132
- end
133
- end
134
-
135
- context "there are two or more members in the team" do
136
- it "adds the member and shows a message" do
137
- send_command "create testing team"
138
- send_command "testing team add john"
139
- send_command "testing team add james"
140
- send_command "testing team remove john"
141
- expect(replies.last).to eq("john removed from the testing team, 1 other is in")
142
- end
143
- end
144
-
145
- context "the member is not in the team" do
146
- it "does not removes the member from the team" do
147
- send_command "create testing team"
148
- send_command "testing team remove john"
149
- expect(replies.last).to eq("john already out of the testing team")
150
- end
151
- end
152
-
153
- context "team does not exist" do
154
- it "does not add the member" do
155
- send_command "testing team remove john"
156
- expect(replies.last).to eq("testing team does not exist")
157
- end
158
- end
159
- end
160
-
161
- describe "list team" do
162
- it "lists the members in the team" do
163
- send_command "create testing team"
164
- send_command "testing team add james"
165
- send_command "testing team add john"
166
- send_command "testing team list"
167
- expect(replies.last).to eq("testing (2 members):\n1. james\n2. john\n")
168
- end
169
-
170
- context "team is empty" do
171
- it "shows a message" do
172
- send_command "create testing team"
173
- send_command "testing team list"
174
- expect(replies.last).to eq("There is no one in the testing team currently")
175
- end
176
- end
177
-
178
- context "team does not exist" do
179
- it "shows a message" do
180
- send_command "testing team list"
181
- expect(replies.last).to eq("testing team does not exist")
182
- end
183
- end
184
- end
185
-
186
- describe "clear team" do
187
- it "removes the members of a team" do
188
- send_command "create testing team"
189
- send_command "testing team add john"
190
- send_command "testing team clear"
191
- expect(replies.last).to eq("testing team cleared")
192
- send_command "testing team list"
193
- expect(replies.last).to eq("There is no one in the testing team currently")
194
- end
195
-
196
- context "team does not exist" do
197
- it "shows a message" do
198
- send_command "testing team clear"
199
- expect(replies.last).to eq("testing team does not exist")
200
- end
201
- end
202
- end
203
4
  end
@@ -0,0 +1,41 @@
1
+ require "spec_helper"
2
+
3
+ describe Lita::Handlers::UpdateTeam,
4
+ lita_handler: true,
5
+ additional_lita_handlers: Lita::Handlers::CreateTeam do
6
+ describe "update team" do
7
+ context "set limit" do
8
+ it "set limit to a given value" do
9
+ send_command "create testing team"
10
+ send_command "testing team set limit 10"
11
+ expect(replies.last).
12
+ to eq("testing team limit set to 10")
13
+ end
14
+ end
15
+
16
+ context "set location" do
17
+ it "set location to a given value" do
18
+ send_command "create testing team"
19
+ send_command "testing team set location local place"
20
+ reply = "testing team location set to local place"
21
+ expect(replies.last).to eq(reply)
22
+ end
23
+ end
24
+
25
+ context "set icon" do
26
+ it "set icon to a given value" do
27
+ send_command "create testing team"
28
+ send_command "testing team set icon :love:"
29
+ expect(replies.last).
30
+ to eq("testing team icon set to :love:")
31
+ end
32
+ end
33
+
34
+ context "team does not exists" do
35
+ it "does not do anything" do
36
+ send_command "testing team set limit 10"
37
+ expect(replies.last).to eq("testing team does not exist")
38
+ end
39
+ end
40
+ end
41
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require "simplecov"
2
2
  require "coveralls"
3
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
3
+ SimpleCov.formatters = [
4
4
  SimpleCov::Formatter::HTMLFormatter,
5
5
  Coveralls::SimpleCov::Formatter
6
6
  ]
@@ -1,9 +1,12 @@
1
- <% if @team.members.empty? %>
2
- <%= I18n.t("lita.handlers.team.team_empty", team: @team.name) %>
1
+ <% if @team[:members].empty? %>
2
+ <%= I18n.t('lita.handlers.team.empty', team_name: @team[:name]) %>
3
3
  <% else %>
4
- <%= I18n.t("lita.handlers.team.team_summary", name: @team.name, count: @team.members.count) %>:
5
- <% @team.members.each_with_index do |member, i| %>
6
- <%= i + 1 %>. <%= member.name %>
4
+ <%= @team[:name] %>
5
+
6
+ <%= ":bust_in_silhouette: " + @team[:members].count.to_s %><%= " | " + @team[:icon] if @team[:icon] %><%= " " + @team[:location] if @team[:location] %><%= " | Max: " + @team[:limit].to_s if @team[:limit] %>
7
+
8
+ <% @team[:members].each_with_index do |(key, member), i| %>
9
+ <%= i + 1 %>. <%= member[:name] %><%= " :point_up:" if member[:confirmed] %>
7
10
 
8
11
  <% end %>
9
12
  <% end %>
@@ -1,10 +1,4 @@
1
- <% if @teams.empty? %>
2
- <%= I18n.t("lita.handlers.team.no_teams_has_been_created") %>
3
- <% else %>
4
- <%= I18n.t("lita.handlers.team.teams_title") %>
5
-
1
+ <%= I18n.t("lita.handlers.team.teams_title") %>:
6
2
  <% @teams.each do |team| %>
7
- <%= I18n.t("lita.handlers.team.team_summary", name: team.name, count: team.members.count) %>
8
-
9
- <% end %>
3
+ <%= team[:name] %> (<%= team[:members].count %> :bust_in_silhouette:)
10
4
  <% end %>
@@ -1,4 +1,4 @@
1
- <%= I18n.t("lita.handlers.team.member_added_to_team", member: @member, team: @team) %>
1
+ <%= I18n.t("lita.handlers.team.member.added", member_name: @member_name, team_name: @team_name) %>
2
2
  <% if @count > 0 %>
3
- <%= I18n.t("lita.handlers.team.members_in_team", count: @count) %>
3
+ <%= I18n.t("lita.handlers.team.members_count", count: @count) %>
4
4
  <% end %>
@@ -0,0 +1,4 @@
1
+ <%= I18n.t("lita.handlers.team.member.confirmed", member_name: @member_name, team_name: @team_name) %>
2
+ <% if @count > 0 %>
3
+ <%= I18n.t("lita.handlers.team.unconfirmed_count", count: @count) %>
4
+ <% end %>
File without changes
@@ -1,4 +1,4 @@
1
- <%= I18n.t("lita.handlers.team.member_removed_from_team", member: @member, team: @team.name) %>
2
- <% if @team.members.count > 0 %>
3
- <%= I18n.t("lita.handlers.team.members_in_team", count: @team.members.count) %>
1
+ <%= I18n.t("lita.handlers.team.member.removed", member_name: @member_name, team_name: @team_name) %>
2
+ <% if @count > 0 %>
3
+ <%= I18n.t("lita.handlers.team.members_count", count: @count) %>
4
4
  <% end %>
@@ -0,0 +1 @@
1
+ <%= I18n.t('lita.handlers.team.already_exists', team_name: @team_name) %>
@@ -0,0 +1 @@
1
+ <%= I18n.t("lita.handlers.team.blocked", team_name: @team_name) %>
@@ -0,0 +1 @@
1
+ <%= I18n.t('lita.handlers.team.cannot_perform_operation', team_name: @team_name) %>
@@ -0,0 +1 @@
1
+ <%= I18n.t("lita.handlers.team.created", team_name: @team_name) %>
@@ -0,0 +1 @@
1
+ <%= I18n.t("lita.handlers.team.deleted", team_name: @team_name) %>
@@ -0,0 +1 @@
1
+ <%= I18n.t("lita.handlers.team.not_found", team_name: @team_name) %>
@@ -0,0 +1 @@
1
+ <%= I18n.t("lita.handlers.team.unblocked", team_name: @team_name) %>
@@ -0,0 +1 @@
1
+ <%= I18n.t("lita.handlers.team.updated", team_name: @team_name, attribute: @attribute, value: @value) %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-team
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edgar Ortega
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-17 00:00:00.000000000 Z
11
+ date: 2016-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.3'
19
+ version: '4.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '4.3'
26
+ version: '4.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -131,6 +131,7 @@ extra_rdoc_files: []
131
131
  files:
132
132
  - ".gitignore"
133
133
  - ".rspec"
134
+ - ".rubocop.yml"
134
135
  - ".ruby-gemset"
135
136
  - ".ruby-version"
136
137
  - ".travis.yml"
@@ -138,28 +139,46 @@ files:
138
139
  - README.md
139
140
  - Rakefile
140
141
  - lib/lita-team.rb
141
- - lib/lita/actions/add_member_to_team.rb
142
- - lib/lita/actions/base.rb
143
- - lib/lita/actions/clear_team.rb
144
- - lib/lita/actions/create_team.rb
145
- - lib/lita/actions/delete_team.rb
146
- - lib/lita/actions/list_team.rb
147
- - lib/lita/actions/list_teams.rb
148
- - lib/lita/actions/remove_member_from_team.rb
142
+ - lib/lita/handlers/add_member_to_team.rb
143
+ - lib/lita/handlers/block_team.rb
144
+ - lib/lita/handlers/clear_team.rb
145
+ - lib/lita/handlers/confirm_member.rb
146
+ - lib/lita/handlers/create_team.rb
147
+ - lib/lita/handlers/delete_team.rb
148
+ - lib/lita/handlers/list_team.rb
149
+ - lib/lita/handlers/list_teams.rb
150
+ - lib/lita/handlers/remove_member_from_team.rb
149
151
  - lib/lita/handlers/team.rb
150
- - lib/lita/member.rb
151
- - lib/lita/store/member.rb
152
- - lib/lita/store/team.rb
153
- - lib/lita/team.rb
152
+ - lib/lita/handlers/update_team.rb
154
153
  - lita-team.gemspec
155
154
  - locales/en.yml
155
+ - spec/lita/handlers/add_member_to_team_spec.rb
156
+ - spec/lita/handlers/block_team_spec.rb
157
+ - spec/lita/handlers/clear_team_spec.rb
158
+ - spec/lita/handlers/confirm_member_spec.rb
159
+ - spec/lita/handlers/create_team_spec.rb
160
+ - spec/lita/handlers/delete_team_spec.rb
161
+ - spec/lita/handlers/list_team_spec.rb
162
+ - spec/lita/handlers/list_teams_spec.rb
163
+ - spec/lita/handlers/remove_member_from_team_spec.rb
156
164
  - spec/lita/handlers/team_spec.rb
165
+ - spec/lita/handlers/update_team_spec.rb
157
166
  - spec/spec_helper.rb
158
167
  - templates/.gitkeep
159
168
  - templates/list_team.erb
160
169
  - templates/list_teams.erb
161
170
  - templates/member_added_to_team.erb
171
+ - templates/member_confirmed.erb
172
+ - templates/member_not_on_team.erb
162
173
  - templates/member_removed_from_team.erb
174
+ - templates/team_already_exists.erb
175
+ - templates/team_blocked.erb
176
+ - templates/team_cannot_perform_operation.erb
177
+ - templates/team_created.erb
178
+ - templates/team_deleted.erb
179
+ - templates/team_not_found.erb
180
+ - templates/team_unblocked.erb
181
+ - templates/team_updated.erb
163
182
  homepage: https://github.com/EdgarOrtegaRamirez/lita-team
164
183
  licenses:
165
184
  - MIT
@@ -181,10 +200,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
200
  version: '0'
182
201
  requirements: []
183
202
  rubyforge_project:
184
- rubygems_version: 2.4.7
203
+ rubygems_version: 2.5.2
185
204
  signing_key:
186
205
  specification_version: 4
187
206
  summary: create and manage the members of a team with Lita
188
207
  test_files:
208
+ - spec/lita/handlers/add_member_to_team_spec.rb
209
+ - spec/lita/handlers/block_team_spec.rb
210
+ - spec/lita/handlers/clear_team_spec.rb
211
+ - spec/lita/handlers/confirm_member_spec.rb
212
+ - spec/lita/handlers/create_team_spec.rb
213
+ - spec/lita/handlers/delete_team_spec.rb
214
+ - spec/lita/handlers/list_team_spec.rb
215
+ - spec/lita/handlers/list_teams_spec.rb
216
+ - spec/lita/handlers/remove_member_from_team_spec.rb
189
217
  - spec/lita/handlers/team_spec.rb
218
+ - spec/lita/handlers/update_team_spec.rb
190
219
  - spec/spec_helper.rb
@@ -1,38 +0,0 @@
1
- module Lita
2
- module Actions
3
- class AddMemberToTeam < Base
4
-
5
- def call
6
- if team
7
- count_was = team.members.count
8
- if create_member
9
- response.reply render_template(:member_added_to_team, member: member_name, team: team_name, count: count_was)
10
- else
11
- response.reply t(:member_already_in_team, member: member_name, team: team_name)
12
- end
13
- else
14
- response.reply t(:team_not_found, name: team_name)
15
- end
16
- end
17
-
18
- private
19
-
20
- def team_name
21
- response.match_data[1]
22
- end
23
-
24
- def member_name
25
- response.match_data[3] || response.user.mention_name
26
- end
27
-
28
- def team
29
- @team ||= Lita::Team.find(team_name)
30
- end
31
-
32
- def create_member
33
- Lita::Store::Member.create(member_name: member_name, team_name: team_name)
34
- end
35
-
36
- end
37
- end
38
- end
@@ -1,28 +0,0 @@
1
- module Lita
2
- module Actions
3
- class Base
4
- include Lita::Handler::Common
5
-
6
- attr :response
7
- @@template_root = nil
8
-
9
- def initialize(response)
10
- @response = response
11
- end
12
-
13
- def self.template_root(path = nil)
14
- @@template_root = path if path
15
- @@template_root
16
- end
17
-
18
- def robot
19
- response.message.instance_variable_get :"@robot"
20
- end
21
-
22
- def translate(key, options = {})
23
- I18n.translate("lita.handlers.team.#{key}", options)
24
- end
25
- alias_method :t, :translate
26
- end
27
- end
28
- end
@@ -1,30 +0,0 @@
1
- module Lita
2
- module Actions
3
- class ClearTeam < Base
4
-
5
- def call
6
- if team_exists?
7
- destroy_members
8
- response.reply t(:team_cleared, name: team_name)
9
- else
10
- response.reply t(:team_not_found, name: team_name)
11
- end
12
- end
13
-
14
- private
15
-
16
- def team_name
17
- response.match_data[1]
18
- end
19
-
20
- def team_exists?
21
- Lita::Team.find(team_name)
22
- end
23
-
24
- def destroy_members
25
- Lita::Store::Member.destroy_all(team_name: team_name)
26
- end
27
-
28
- end
29
- end
30
- end