lita-github-pinger 0.2.2 → 0.2.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: 649037ee8aba6ffb55bef9646d02fec862170c0a
4
- data.tar.gz: 75f81996e25b2411ce22158ba00f112a1885352b
3
+ metadata.gz: 3a7a8963fc1e132d23b423e867bec4ce1ba1de85
4
+ data.tar.gz: 6b610f7318532b20c484532862b383f06444aa77
5
5
  SHA512:
6
- metadata.gz: dc1b75d35ed259f3d2df4ee0b97c63878fdcf17ad5b308e8f5eaed341a913b3b2921b0256f3a232b3c723899125c3e7c593e948f846a6cd70ebc647e30c2cb7c
7
- data.tar.gz: e9710bd06a7a515c1a2a4b3102a9298419818db44e464d24de71666298afb3ec24d46321c2b53f3784243b6890c38522b06c067b98b0a622a283071f1a6d6d0c
6
+ metadata.gz: 407f6aa43001fcd9871ab1dbbb8a43dffb425901d7246dcc27181ddf46a51ff78084de7b58a0a24801c59b80767c45a6895bc29a4ebce4f35a4d24de29e1c491
7
+ data.tar.gz: cba4f864b8abd8e84beaa0db6379e977160dff5280774c68a5e3642e08c3edd86419d622d6bcb411a7f8a0455fecce7a8ba03b708bdffdc2770709ecacd407f5
@@ -6,28 +6,47 @@ module Lita
6
6
 
7
7
  route(/@(\w*)/, :detect_comment, command: false)
8
8
 
9
+ http.get "/ghping", :ghping
10
+
11
+ def ghping(request, response)
12
+ room = Lita::Room.fuzzy_find("eng")
13
+ source = Lita::Source.new(room: room)
14
+ robot.send_message(source, "I just got pinged at /ghping!")
15
+ response.body << "Hello, #{request.user_agent}!"
16
+ end
17
+
18
+ def send_dm(username, content)
19
+ if user = Lita::User.fuzzy_find(eng[:slack])
20
+ source = Lita::Source.new(user: user)
21
+ robot.send_message(source, "New PR comment! #{message.message.body}")
22
+ else
23
+ puts "Could not find user with name #{username}"
24
+ end
25
+ end
26
+
9
27
  def detect_comment(message)
10
28
  return unless message.user.metadata["name"] == "" # Integrations don't have names
11
29
  mentioned_username = message.matches[0][0]
12
30
 
13
- # side effects intentional
14
- found = config.engineers.any? do |eng|
31
+ config.engineers.each do |eng|
15
32
  if eng[:github] == mentioned_username
16
- user = Lita::User.fuzzy_find(eng[:slack])
17
- puts "%%%%%%%%%%%%%%%%%%%%%%%%%%%"
18
- p user
19
- if user
20
- source = Lita::Source.new(user: user)
21
- robot.send_message(source, "New PR comment! #{message.message.body}")
22
- else
33
+
34
+ case eng[:preference]
35
+ when "dm"
36
+ send_dm(eng[:slack], message.message.body)
37
+ when "eng_pr", "eng-pr"
23
38
  message.reply(eng[:slack] + ": " + message.message.body)
39
+ when "off"
40
+ return
41
+ else
42
+ send_dm(eng[:slack], message.message.body)
24
43
  end
44
+
45
+ return
25
46
  end
26
47
  end
27
48
 
28
- unless found
29
- message.reply("Could not find a slack username for #{pr_owner}. Please configure everbot to include this username.")
30
- end
49
+ message.reply("Could not find a slack username for #{mentioned_username}. Please configure everbot to include this username.")
31
50
  end
32
51
  end
33
52
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-github-pinger"
3
- spec.version = "0.2.2"
3
+ spec.version = "0.2.3"
4
4
  spec.authors = ["Taylor Lapeyre"]
5
5
  spec.email = ["taylorlapeyre@gmail.com"]
6
6
  spec.description = "A Lita handler that detects github comment notifications and regurgitates a ping to the correct slack username."
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-github-pinger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Taylor Lapeyre