lita-standup 0.0.2 → 0.1.0

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: 21bbfe26af7b550654b6b29bcaa5b418bbed6467
4
- data.tar.gz: 47ce5abf7754b9efe332acac3991149309b11eed
3
+ metadata.gz: 36be7d907470851d05ce4ba716a4806e1b8c6ed4
4
+ data.tar.gz: 876282f4aa028beeac92c1e26a0c0d62bd628788
5
5
  SHA512:
6
- metadata.gz: 0f3aef8d7e35f483717cf5941c85d1bbcacfc99980cc70de11c012be7cf6d3e1880a44247529bdea70cd1cdb825e727ed1d599898476df29f0ddb43f6d1bf54d
7
- data.tar.gz: d4a66dfb3e080cde8fcfb8d2ede2bb647203eb3f5b5a2ec5b036f902b4c80a3ebc1d0bd97563af4d385ddb6b5430a2c7da82f16d78f7799efd1abbf88a5a55fd
6
+ metadata.gz: 0a45a0287a1eb32a4843c169fb3611389c95a27471d8c74ba9457080660758f7a66b401e713929caa7db3d858205c19feedb3c22ae3fc0b7d94915c2116dbf46
7
+ data.tar.gz: c2847eed2237c66fbe78657bd29b9b772d98aa984f8052558c1818460f8a5a958d9210f451df56744fb1247841e4d22b8ed20f7ede1b06cfb6acb453669e60a6
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![Coverage Status](https://coveralls.io/repos/chriswoodrich/lita-standup/badge.png)](https://coveralls.io/r/chriswoodrich/lita-standup)
5
5
  [![Gem Version](https://badge.fury.io/rb/lita-standup.svg)](http://badge.fury.io/rb/lita-standup)
6
6
 
7
- Lita-standup is a handler for Lita, meant to automate the process of the daily standup, and help teams collaborate.
7
+ Lita-standup is a handler for [Lita](https://github.com/jimmycuadra/lita), meant to automate the process of the daily standup, and help teams collaborate.
8
8
 
9
9
  ## Installation
10
10
 
@@ -4,11 +4,7 @@ require 'sucker_punch'
4
4
  class SummaryEmailJob
5
5
  include SuckerPunch::Job
6
6
 
7
- def later(sec, payload)
8
- sec == 0 ? preform(payload) : after(sec) { preform(payload) } #0 seconds not handled well by #after
9
- end
10
-
11
- def preform(payload)
7
+ def perform(payload)
12
8
  redis = payload[:redis]
13
9
  config = payload[:config]
14
10
 
@@ -24,11 +24,10 @@ module Lita
24
24
  redis.set('last_standup_started_at', Time.now)
25
25
  find_and_create_users
26
26
  message_all_users
27
- SummaryEmailJob.new().async.later(config.time_to_respond * 60, {redis: redis, config: config})
27
+ SummaryEmailJob.perform_in(config.time_to_respond * 60, {redis: redis, config: config})
28
28
  end
29
29
 
30
30
  def process_standup(request)
31
-
32
31
  return unless timing_is_right?
33
32
  request.reply('Response recorded. Thanks for partipating')
34
33
  date_string = Time.now.strftime('%Y%m%d')
@@ -40,17 +39,18 @@ module Lita
40
39
 
41
40
  def message_all_users
42
41
  @users.each do |user|
43
- robot.send_message(user, "Time for standup!")
44
- robot.send_message(user, "Please tell me what you did yesterday,
45
- what you're doing now, and what you're
46
- working on today. Please prepend your
47
- answer with 'standup response'")
42
+ source = Lita::Source.new(user: user)
43
+ robot.send_message(source, "Time for standup!")
44
+ robot.send_message(source, "Please tell me (in the following format)
45
+ Lita standup response
46
+ 1. things you worked on yesterday,
47
+ 2. things you'll be doing today,
48
+ 3. anything that's blocking you.")
48
49
  end
49
50
  end
50
51
 
51
52
  def find_and_create_users
52
- @users = robot.auth.groups_with_users[:standup_participants]
53
- Lita.logger.debug(@users.inspect)
53
+ @users ||= robot.auth.groups_with_users[config.name_of_auth_group]
54
54
  end
55
55
 
56
56
  def timing_is_right?
data/lita-standup.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-standup"
3
- spec.version = "0.0.2"
3
+ spec.version = "0.1.0"
4
4
  spec.authors = ["Chris Woodrich"]
5
5
  spec.email = ["cwoodrich@gmail.com"]
6
6
  spec.description = "Daily standup automation for easier collaboration"
@@ -5,12 +5,12 @@ describe Lita::Handlers::Standup, lita_handler: true do
5
5
  it { is_expected.to route_command("start standup now").with_authorization_for(:standup_admins).to(:begin_standup) }
6
6
  it { is_expected.to route_command("standup response 1:a2:b3:c").to(:process_standup) }
7
7
 
8
- jimmy = Lita::User.create(111, name: "Jimmy")
9
- tristan = Lita::User.create(112, name: "Tristan")
10
- mitch = Lita::User.create(113, name: "Mitch")
11
- people = [jimmy, tristan, mitch]
12
8
 
13
9
  before do
10
+ @jimmy = Lita::User.create(111, name: "Jimmy")
11
+ @tristan = Lita::User.create(112, name: "Tristan")
12
+ @mitch = Lita::User.create(113, name: "Mitch")
13
+ people = [@jimmy, @tristan, @mitch]
14
14
  registry.config.handlers.standup.time_to_respond = 0 #Not async for testing
15
15
  registry.config.handlers.standup.address = 'smtp.gmail.com'
16
16
  registry.config.handlers.standup.port = 587
@@ -25,15 +25,16 @@ describe Lita::Handlers::Standup, lita_handler: true do
25
25
 
26
26
  describe '#begin_standup' do
27
27
  it 'messages each user and prompts for stand up options' do
28
- send_command("start standup now", as: jimmy)
28
+ send_command("start standup now", as: @jimmy)
29
29
  expect(replies.size).to eq(6) #Jimmy, Tristan, and Mitch
30
+
30
31
  end
31
32
 
32
33
  it 'properly queues an email job upon initiation' do
33
34
  registry.config.handlers.standup.email_subject_line = "This is a test of Lita-Standup"
34
35
  registry.config.handlers.standup.time_to_respond = 60
35
- send_command("start standup now", as: jimmy)
36
- send_command("standup response 1: everything 2:everything else 3:nothing", as: jimmy)
36
+ send_command("start standup now", as: @jimmy)
37
+ send_command("standup response 1: everything 2:everything else 3:nothing", as: @jimmy)
37
38
  expect(Celluloid::Actor.registered.first.to_s).to end_with("summary_email_job")
38
39
  end
39
40
  end
@@ -41,10 +42,10 @@ describe Lita::Handlers::Standup, lita_handler: true do
41
42
  describe '#process_standup' do
42
43
  it 'Emails a compendium of responses out after users reply' do
43
44
  registry.config.handlers.standup.time_to_respond = (1.0/60.0)
44
- send_command("start standup now", as: jimmy)
45
- send_command("standup response 1: linguistics 2: more homework 3: being in seattle", as: tristan)
46
- send_command("standup response 1: stitchfix 2: more stitchfix 3: gaining weight", as: mitch)
47
- send_command("standup response 1: lita 2: Rust else 3: nothing", as: jimmy)
45
+ send_command("start standup now", as: @jimmy)
46
+ send_command("standup response 1: linguistics 2: more homework 3: being in seattle", as: @tristan)
47
+ send_command("standup response 1: stitchfix 2: more stitchfix 3: gaining weight", as: @mitch)
48
+ send_command("standup response 1: lita 2: Rust else 3: nothing", as: @jimmy)
48
49
  sleep(2);
49
50
  expect(Mail::TestMailer.deliveries.last.body.raw_source).to include "Tristan\n1: linguistics \n2: more homework \n3: being in seattle\n"
50
51
  expect(Mail::TestMailer.deliveries.last.body.raw_source).to include "Jimmy\n1: lita \n2: Rust else \n3: nothing\n"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-standup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Woodrich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-01 00:00:00.000000000 Z
11
+ date: 2018-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -191,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  version: '0'
192
192
  requirements: []
193
193
  rubyforge_project:
194
- rubygems_version: 2.4.6
194
+ rubygems_version: 2.6.13
195
195
  signing_key:
196
196
  specification_version: 4
197
197
  summary: Daily standup automation for easier collaboration