lita-envy 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1771ca4a7139bb295de5a3f34643749b612f5f69
4
- data.tar.gz: 7d16778ffb99417dbdcea91d498bb95a2d9f94b7
3
+ metadata.gz: 7b6d149d6bff191a044dc53a59962548260a27d9
4
+ data.tar.gz: fcafab3b1480b4eace38dff345b45abb54d27cbd
5
5
  SHA512:
6
- metadata.gz: 5be321f0ef3ad3df62d7c173164c0c8974c449a8a2eba2581fabccc78345b62138c192e23dfb26db9dded90dbe25ac8e68f2ffcf329173443c202d7fc7de1cc2
7
- data.tar.gz: 089233c504f022a389b9d6702fca600327c04dc5d6e452b831db5856ff65511e408a7f64729434611b1d9cc490e75b45f6a752fd2b1f9e611af800fc5ae30ee5
6
+ metadata.gz: af80d2fc2484482c0ba3046454d9e8fbaf9c14470458af905c241f0909c5403386549c119f0a3c1f320448828cdce04370a47bc5106eccca665cdc4d75d7c0dd
7
+ data.tar.gz: bfb11685eb3467ac104099e8e8a05b93014d4858ecd60e64e5cdf7655536520ac11b76cf38bfd058b5098b6c4e4ffae2d32eb0de05d81bd5329d737ee2acf749
data/README.md CHANGED
@@ -16,7 +16,10 @@ gem "lita-envy"
16
16
  ## Usage
17
17
 
18
18
  ``` bash
19
- @bot started using env ENV123
20
- @bot stopped using env ENV123
19
+ @bot claim ENV123
20
+ @bot release ENV123
21
+ @bot forget ENV123
22
+ @bot envs
23
+ @bot wrestle ENV123 from Jon Doe
21
24
  ```
22
25
 
@@ -2,35 +2,35 @@ module Lita
2
2
  module Handlers
3
3
  class Envy < Handler
4
4
 
5
- route /\Astarted using env ([A-Za-z0-9_]+)\Z/, :start_using_environment, help: { "started using env [ENV ID]" => "Mark environment as in use by you"}, command: true
6
- route /\Astopped using env ([A-Za-z0-9_]+)\Z/, :stop_using_environment, help: { "stopped using env [ENV ID]" => "Mark environment as available"}, command: true
7
- route /\Aenvironments\Z/, :list_environments, help: { "environments" => "List environments"}, command: true
8
- route /\Aremove env ([A-Za-z0-9_]+)\Z/, :remove_environment, help: { "remove env [ENV ID]" => "Remove environment"}, command: true
9
- route /\Awrestle env ([A-Za-z0-9_]+) from (.*)\Z/, :wrestle_environment_from_user, help: { "wrestle env [ENV ID] from [USER]" => "Mark environment as in use by you, even though it is currently in use by another user"}, command: true
5
+ route /\Aclaim ([A-Za-z0-9_]+)\Z/, :claim_environment, help: { "claim [ENV ID]" => "Mark environment as in use by you"}, command: true
6
+ route /\Arelease ([A-Za-z0-9_]+)\Z/, :release_environment, help: { "release [ENV ID]" => "Mark environment as available"}, command: true
7
+ route /\Aenvs\Z/, :list_environments, help: { "envs" => "List environments"}, command: true
8
+ route /\Aforget ([A-Za-z0-9_]+)\Z/, :forget_environment, help: { "forget [ENV ID]" => "Forget environment"}, command: true
9
+ route /\Awrestle ([A-Za-z0-9_]+) from (.*)\Z/, :claim_used_environment, help: { "wrestle [ENV ID] from [USER]" => "Mark environment as in use by you, even though it is currently in use by another user"}, command: true
10
10
 
11
- def start_using_environment(response)
11
+ def claim_environment(response)
12
12
  env_id = response.matches.first.first
13
13
  current_user = redis.hget(['environments', env_id].join(':'), 'user')
14
14
  if current_user.nil? || current_user.empty?
15
15
  redis.hset(['environments', env_id].join(':'), 'user', response.user.name)
16
16
  response.reply('ok')
17
17
  elsif current_user == response.user.name
18
- response.reply("You are already using #{env_id}")
18
+ response.reply("Hmm, you are already using #{env_id}")
19
19
  else
20
- response.reply("Sorry, #{env_id} is currently in use by #{current_user}")
20
+ response.reply("Hmm, #{env_id} is currently in use by #{current_user}")
21
21
  end
22
22
  end
23
23
 
24
- def stop_using_environment(response)
24
+ def release_environment(response)
25
25
  env_id = response.matches.first.first
26
26
  current_user = redis.hget(['environments', env_id].join(':'), 'user')
27
27
  if current_user == response.user.name
28
28
  redis.hset(['environments', env_id].join(':'), 'user', nil)
29
29
  response.reply('ok')
30
30
  elsif current_user.nil? || current_user.empty?
31
- response.reply("You are not currently using #{env_id}")
31
+ response.reply("Hmm, you are not currently using #{env_id}")
32
32
  else
33
- response.reply("You are not currently using #{env_id} (#{current_user} is)")
33
+ response.reply("Hmm, you are not currently using #{env_id} (#{current_user} is)")
34
34
  end
35
35
 
36
36
  end
@@ -47,33 +47,33 @@ module Lita
47
47
  response.reply(lines.join("\n"))
48
48
  end
49
49
 
50
- def remove_environment(response)
50
+ def forget_environment(response)
51
51
  env_id = response.matches.first.first
52
52
  current_user = redis.hget(['environments', env_id].join(':'), 'user')
53
53
  if current_user == response.user.name
54
- response.reply("You are currently using #{env_id}")
54
+ response.reply("Hmm, you are currently using #{env_id}")
55
55
  elsif current_user.nil?
56
- response.reply("I do not know about environment #{env_id}")
56
+ response.reply("Hmm, I do not know about #{env_id}")
57
57
  elsif current_user.empty?
58
58
  redis.del(['environments', env_id].join(':'))
59
59
  response.reply('ok')
60
60
  else
61
- response.reply("Sorry, #{env_id} is currently in use by #{current_user}")
61
+ response.reply("Hmm, #{env_id} is currently in use by #{current_user}")
62
62
  end
63
63
  end
64
64
 
65
- def wrestle_environment_from_user(response)
65
+ def claim_used_environment(response)
66
66
  env_id, specified_user = response.matches.first
67
67
  current_user = redis.hget(['environments', env_id].join(':'), 'user')
68
68
  if specified_user == current_user
69
69
  redis.hset(['environments', env_id].join(':'), 'user', response.user.name)
70
70
  response.reply('ok')
71
71
  elsif current_user.nil? or current_user.empty?
72
- response.reply("Sorry, #{env_id} is not currently in use")
72
+ response.reply("Hmm, #{env_id} is not currently in use")
73
73
  elsif current_user == response.user.name
74
- response.reply("You are already using #{env_id}")
74
+ response.reply("Hmm, you are already using #{env_id}")
75
75
  else
76
- response.reply("Sorry, #{env_id} is currently in use by #{current_user}, not #{specified_user}")
76
+ response.reply("Hmm, #{env_id} is currently in use by #{current_user}, not #{specified_user}")
77
77
  end
78
78
  end
79
79
 
data/lita-envy.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-envy"
3
- spec.version = "0.1.2"
3
+ spec.version = "0.1.3"
4
4
  spec.authors = ["Ingo Weiss"]
5
5
  spec.email = ["ingo.weiss@lab49.com"]
6
6
  spec.description = "Mark environments as in use. Mark environments as available. List environments"
@@ -4,11 +4,11 @@ describe Lita::Handlers::Envy, lita_handler: true do
4
4
 
5
5
  describe 'Routing' do
6
6
 
7
- it { is_expected.to route_command("started using env ENV123").to(:start_using_environment) }
8
- it { is_expected.to route_command("stopped using env ENV123").to(:stop_using_environment) }
9
- it { is_expected.to route_command("environments").to(:list_environments) }
10
- it { is_expected.to route_command("remove env ENV123").to(:remove_environment) }
11
- it { is_expected.to route_command("wrestle env ENV123 from Alicia").to(:wrestle_environment_from_user) }
7
+ it { is_expected.to route_command("claim ENV123").to(:claim_environment) }
8
+ it { is_expected.to route_command("release ENV123").to(:release_environment) }
9
+ it { is_expected.to route_command("envs").to(:list_environments) }
10
+ it { is_expected.to route_command("forget ENV123").to(:forget_environment) }
11
+ it { is_expected.to route_command("wrestle ENV123 from Alicia").to(:claim_used_environment) }
12
12
 
13
13
  end
14
14
 
@@ -22,12 +22,12 @@ describe Lita::Handlers::Envy, lita_handler: true do
22
22
 
23
23
  it "should mark environment as in use by user" do
24
24
  carl = Lita::User.create(123, name: "Carl")
25
- send_command('started using env ENV123', :as => carl)
25
+ send_command('claim ENV123', :as => carl)
26
26
  expect(subject.redis.hget('environments:ENV123', 'user')).to eq("Carl")
27
27
  end
28
28
 
29
29
  it "should reply with confirmation" do
30
- send_command('started using env ENV123')
30
+ send_command('claim ENV123')
31
31
  expect(replies.first).to eq("ok")
32
32
  end
33
33
 
@@ -41,12 +41,12 @@ describe Lita::Handlers::Envy, lita_handler: true do
41
41
 
42
42
  it "should mark environment as in use by user" do
43
43
  carl = Lita::User.create(123, name: "Carl")
44
- send_command('started using env ENV123', :as => carl)
44
+ send_command('claim ENV123', :as => carl)
45
45
  expect(subject.redis.hget('environments:ENV123', 'user')).to eq("Carl")
46
46
  end
47
47
 
48
48
  it "should reply with confirmation" do
49
- send_command('started using env ENV123')
49
+ send_command('claim ENV123')
50
50
  expect(replies.first).to eq("ok")
51
51
  end
52
52
 
@@ -60,15 +60,15 @@ describe Lita::Handlers::Envy, lita_handler: true do
60
60
 
61
61
  it "should leave the environment untouched" do
62
62
  carl = Lita::User.create(123, name: "Carl")
63
- send_command('started using env ENV123', :as => carl)
63
+ send_command('claim ENV123', :as => carl)
64
64
  expect(subject.redis.hget('environments:ENV123', 'user')).to eq("Alicia")
65
65
  end
66
66
 
67
67
  it "should reply with notification" do
68
68
  subject.redis.hset('environments:ENV123', 'user', 'Alicia')
69
69
  carl = Lita::User.create(123, name: "Carl")
70
- send_command('started using env ENV123', :as => carl)
71
- expect(replies.first).to eq("Sorry, ENV123 is currently in use by Alicia")
70
+ send_command('claim ENV123', :as => carl)
71
+ expect(replies.first).to eq("Hmm, ENV123 is currently in use by Alicia")
72
72
  end
73
73
 
74
74
  end
@@ -81,15 +81,15 @@ describe Lita::Handlers::Envy, lita_handler: true do
81
81
 
82
82
  it "should leave the environment untouched" do
83
83
  carl = Lita::User.create(123, name: "Carl")
84
- send_command('started using env ENV123', :as => carl)
84
+ send_command('claim ENV123', :as => carl)
85
85
  expect(subject.redis.hget('environments:ENV123', 'user')).to eq("Carl")
86
86
  end
87
87
 
88
88
  it "should reply with notification" do
89
89
  subject.redis.hset('environments:ENV123', 'user', 'Carl')
90
90
  carl = Lita::User.create(123, name: "Carl")
91
- send_command('started using env ENV123', :as => carl)
92
- expect(replies.first).to eq("You are already using ENV123")
91
+ send_command('claim ENV123', :as => carl)
92
+ expect(replies.first).to eq("Hmm, you are already using ENV123")
93
93
  end
94
94
 
95
95
  end
@@ -106,13 +106,13 @@ describe Lita::Handlers::Envy, lita_handler: true do
106
106
 
107
107
  it "should mark environment as available" do
108
108
  alicia = Lita::User.create(123, name: "Alicia")
109
- send_command('stopped using env ENV234', :as => alicia)
109
+ send_command('release ENV234', :as => alicia)
110
110
  expect(subject.redis.hget('environments:ENV234', 'user')).to be_empty
111
111
  end
112
112
 
113
113
  it "should reply with confirmation" do
114
114
  alicia = Lita::User.create(123, name: "Alicia")
115
- send_command('stopped using env ENV234', :as => alicia)
115
+ send_command('release ENV234', :as => alicia)
116
116
  expect(replies.first).to eq("ok")
117
117
  end
118
118
 
@@ -126,14 +126,14 @@ describe Lita::Handlers::Envy, lita_handler: true do
126
126
 
127
127
  it "should leave the environment untouched" do
128
128
  alicia = Lita::User.create(123, name: "Alicia")
129
- send_command('stopped using env ENV234', :as => alicia)
129
+ send_command('release ENV234', :as => alicia)
130
130
  expect(subject.redis.hget('environments:ENV234', 'user')).to eq('Carl')
131
131
  end
132
132
 
133
133
  it "should reply with notification" do
134
134
  alicia = Lita::User.create(123, name: "Alicia")
135
- send_command('stopped using env ENV234', :as => alicia)
136
- expect(replies.first).to eq("You are not currently using ENV234 (Carl is)")
135
+ send_command('release ENV234', :as => alicia)
136
+ expect(replies.first).to eq("Hmm, you are not currently using ENV234 (Carl is)")
137
137
  end
138
138
 
139
139
  end
@@ -146,14 +146,14 @@ describe Lita::Handlers::Envy, lita_handler: true do
146
146
 
147
147
  it "should leave the environment untouched" do
148
148
  alicia = Lita::User.create(123, name: "Alicia")
149
- send_command('stopped using env ENV234', :as => alicia)
149
+ send_command('release ENV234', :as => alicia)
150
150
  expect(subject.redis.hget('environments:ENV234', 'user')).to eq('')
151
151
  end
152
152
 
153
153
  it "should reply with notification" do
154
154
  alicia = Lita::User.create(123, name: "Alicia")
155
- send_command('stopped using env ENV234', :as => alicia)
156
- expect(replies.first).to eq("You are not currently using ENV234")
155
+ send_command('release ENV234', :as => alicia)
156
+ expect(replies.first).to eq("Hmm, you are not currently using ENV234")
157
157
  end
158
158
 
159
159
  end
@@ -166,14 +166,14 @@ describe Lita::Handlers::Envy, lita_handler: true do
166
166
 
167
167
  it "should leave the environment untouched" do
168
168
  alicia = Lita::User.create(123, name: "Alicia")
169
- send_command('stopped using env ENV234', :as => alicia)
169
+ send_command('release ENV234', :as => alicia)
170
170
  expect(subject.redis.hget('environments:ENV234', 'user')).to be_nil
171
171
  end
172
172
 
173
173
  it "should reply with notification" do
174
174
  alicia = Lita::User.create(123, name: "Alicia")
175
- send_command('stopped using env ENV234', :as => alicia)
176
- expect(replies.first).to eq("You are not currently using ENV234")
175
+ send_command('release ENV234', :as => alicia)
176
+ expect(replies.first).to eq("Hmm, you are not currently using ENV234")
177
177
  end
178
178
 
179
179
  end
@@ -186,7 +186,7 @@ describe Lita::Handlers::Envy, lita_handler: true do
186
186
  subject.redis.hset('environments:ENV123', 'user', 'Alicia')
187
187
  subject.redis.hset('environments:ENV234', 'user', 'Carl')
188
188
  subject.redis.hset('environments:ENV345', 'user', '')
189
- send_command('environments')
189
+ send_command('envs')
190
190
  expect(replies.first.split("\n")).to eq([
191
191
  "ENV123 (Alicia)",
192
192
  "ENV234 (Carl)",
@@ -204,13 +204,13 @@ describe Lita::Handlers::Envy, lita_handler: true do
204
204
  subject.redis.hset('environments:ENV345', 'user', '')
205
205
  end
206
206
 
207
- it "should remove environments" do
208
- send_command('remove env ENV345')
207
+ it "should forgetironments" do
208
+ send_command('forget ENV345')
209
209
  expect(subject.redis.keys).to_not include('environments:ENV345')
210
210
  end
211
211
 
212
212
  it "should confirm" do
213
- send_command('remove env ENV345')
213
+ send_command('forget ENV345')
214
214
  expect(replies.first).to eq("ok")
215
215
  end
216
216
 
@@ -223,8 +223,8 @@ describe Lita::Handlers::Envy, lita_handler: true do
223
223
  end
224
224
 
225
225
  it "should reply with notification" do
226
- send_command('remove env ENV345')
227
- expect(replies.first).to eq("I do not know about environment ENV345")
226
+ send_command('forget ENV345')
227
+ expect(replies.first).to eq("Hmm, I do not know about ENV345")
228
228
  end
229
229
 
230
230
  end
@@ -237,13 +237,13 @@ describe Lita::Handlers::Envy, lita_handler: true do
237
237
 
238
238
  it "should leave the environment untouched" do
239
239
  alicia = Lita::User.create(123, name: "Alicia")
240
- send_command('remove env ENV345', :as => alicia)
240
+ send_command('forget ENV345', :as => alicia)
241
241
  expect(subject.redis.hget('environments:ENV345', 'user')).to eq('Carl')
242
242
  end
243
243
 
244
244
  it "should reply with notification" do
245
- send_command('remove env ENV345')
246
- expect(replies.first).to eq("Sorry, ENV345 is currently in use by Carl")
245
+ send_command('forget ENV345')
246
+ expect(replies.first).to eq("Hmm, ENV345 is currently in use by Carl")
247
247
  end
248
248
 
249
249
  end
@@ -256,14 +256,14 @@ describe Lita::Handlers::Envy, lita_handler: true do
256
256
 
257
257
  it "should leave the environment untouched" do
258
258
  alicia = Lita::User.create(123, name: "Alicia")
259
- send_command('remove env ENV345', :as => alicia)
259
+ send_command('forget ENV345', :as => alicia)
260
260
  expect(subject.redis.hget('environments:ENV345', 'user')).to eq('Alicia')
261
261
  end
262
262
 
263
263
  it "should reply with notification" do
264
264
  alicia = Lita::User.create(123, name: "Alicia")
265
- send_command('remove env ENV345', :as => alicia)
266
- expect(replies.first).to eq("You are currently using ENV345")
265
+ send_command('forget ENV345', :as => alicia)
266
+ expect(replies.first).to eq("Hmm, you are currently using ENV345")
267
267
  end
268
268
 
269
269
  end
@@ -280,12 +280,12 @@ describe Lita::Handlers::Envy, lita_handler: true do
280
280
 
281
281
  it "should mark environment as in use" do
282
282
  carl = Lita::User.create(123, name: "Carl")
283
- send_command('wrestle env ENV123 from Alicia', :as => carl)
283
+ send_command('wrestle ENV123 from Alicia', :as => carl)
284
284
  expect(subject.redis.hget('environments:ENV123', 'user')).to eq("Carl")
285
285
  end
286
286
 
287
287
  it "should reply with confirmation" do
288
- send_command('wrestle env ENV123 from Alicia')
288
+ send_command('wrestle ENV123 from Alicia')
289
289
  expect(replies.first).to eq("ok")
290
290
  end
291
291
 
@@ -299,13 +299,13 @@ describe Lita::Handlers::Envy, lita_handler: true do
299
299
 
300
300
  it "should leave the environment untouched" do
301
301
  carl = Lita::User.create(123, name: "Carl")
302
- send_command('wrestle env ENV123 from Ben', :as => carl)
302
+ send_command('wrestle ENV123 from Ben', :as => carl)
303
303
  expect(subject.redis.hget('environments:ENV123', 'user')).to eq("Alicia")
304
304
  end
305
305
 
306
306
  it "should reply with notification" do
307
- send_command('wrestle env ENV123 from Ben')
308
- expect(replies.first).to eq("Sorry, ENV123 is currently in use by Alicia, not Ben")
307
+ send_command('wrestle ENV123 from Ben')
308
+ expect(replies.first).to eq("Hmm, ENV123 is currently in use by Alicia, not Ben")
309
309
  end
310
310
 
311
311
  end
@@ -318,13 +318,13 @@ describe Lita::Handlers::Envy, lita_handler: true do
318
318
 
319
319
  it "should leave the environment untouched" do
320
320
  carl = Lita::User.create(123, name: "Carl")
321
- send_command('wrestle env ENV123 from Ben', :as => carl)
321
+ send_command('wrestle ENV123 from Ben', :as => carl)
322
322
  expect(subject.redis.hget('environments:ENV123', 'user')).to be_empty
323
323
  end
324
324
 
325
325
  it "should reply with notification" do
326
- send_command('wrestle env ENV123 from Ben')
327
- expect(replies.first).to eq("Sorry, ENV123 is not currently in use")
326
+ send_command('wrestle ENV123 from Ben')
327
+ expect(replies.first).to eq("Hmm, ENV123 is not currently in use")
328
328
  end
329
329
 
330
330
  end
@@ -337,14 +337,14 @@ describe Lita::Handlers::Envy, lita_handler: true do
337
337
 
338
338
  it "should leave the environment untouched" do
339
339
  carl = Lita::User.create(123, name: "Carl")
340
- send_command('wrestle env ENV123 from Ben', :as => carl)
340
+ send_command('wrestle ENV123 from Ben', :as => carl)
341
341
  expect(subject.redis.hget('environments:ENV123', 'user')).to eq('Carl')
342
342
  end
343
343
 
344
344
  it "should reply with notification" do
345
345
  carl = Lita::User.create(123, name: "Carl")
346
- send_command('wrestle env ENV123 from Ben', :as => carl)
347
- expect(replies.first).to eq("You are already using ENV123")
346
+ send_command('wrestle ENV123 from Ben', :as => carl)
347
+ expect(replies.first).to eq("Hmm, you are already using ENV123")
348
348
  end
349
349
 
350
350
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-envy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ingo Weiss