ruboty-response 0.0.5 → 1.0.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: 42dcfa387c9eac4ee09cceaf46031a3b7116a58c
4
- data.tar.gz: e47320e880fa614e368746658559a838ede56bfa
3
+ metadata.gz: ef9eead7d7e1d71867c4d51a86ce2029ff6beed1
4
+ data.tar.gz: c6d6cfc76726664c87f96711b1e12bd7f1d6c6a7
5
5
  SHA512:
6
- metadata.gz: a0e44ea5f5c4a39fa5fc54a4f1062b647b4d52627eca86fae15688abd2a52e30fcef6ebbdfa23ee2c5aa03baa723a9ac7f5897a208c62b13bdd356e907b4a49e
7
- data.tar.gz: 154673114d852d54280a42a1268815273178d09f9ea59da8cbf39af3beda6829aeef86996451cd4dca0ca1cad8081bcffb61c2f489042ed0a46159861ac187e5
6
+ metadata.gz: 1bf4b9b94f8f4a89d2760d59899ef8d6f705c575568b8c3197c5aa99f8a289cbb22495a12c441ac12904ee5e13281e8917d4901055f333d0efb59b69d7b0e68b
7
+ data.tar.gz: 41f2334593dfa03f937fb73eeab187aabd2ce78bf5f1cf704ef8914b8566939cfddc21dfe64ddd4c6203b772aaac6ee5db5f1b33bc00cfdfe4a67b18f17f30dc
@@ -11,13 +11,18 @@ module Ruboty
11
11
 
12
12
  def catchall(message)
13
13
  responses.each do |id, hash|
14
- next unless /#{hash[:regex]}/ =~ message[:keyword] rescue false
14
+ next unless message[:keyword] =~ /#{hash[:regex]}/ rescue false
15
15
 
16
16
  # If the response is a code
17
- if hash[:response] =~ /\A`.+`\z/
17
+ if match_data = hash[:response].match(/\A`(?<code>.+)`\z/)
18
18
  thread = Thread.start do
19
- result = `#{hash[:response].match(/\A`(.+)`\z/)[1]}`.chomp!
20
- message.reply(result)
19
+ stdout, stderr, status = Open3.capture3(match_data[:code])
20
+ message.reply(stdout.chomp) if stdout
21
+ message.reply(stderr.chomp) if stderr
22
+
23
+ unless status.success?
24
+ message.reply("Command Failed:\n#{match_data[:code]}", code: true)
25
+ end
21
26
  end
22
27
  Thread.start do
23
28
  sleep 10
@@ -27,6 +32,8 @@ module Ruboty
27
32
  message.reply(hash[:response])
28
33
  end
29
34
  end
35
+ rescue => e
36
+ Ruboty.logger.error("Error: #{e.class}: #{e.message}}")
30
37
  end
31
38
 
32
39
  def add(message)
@@ -1,5 +1,5 @@
1
1
  module Ruboty
2
2
  module Response
3
- VERSION = '0.0.5'
3
+ VERSION = '1.0.0'
4
4
  end
5
5
  end
@@ -20,6 +20,4 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency 'bundler'
22
22
  spec.add_development_dependency 'rake'
23
- spec.add_development_dependency 'pry'
24
- spec.add_development_dependency 'awesome_print'
25
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruboty-response
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kaihar4
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-04 00:00:00.000000000 Z
11
+ date: 2015-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruboty
@@ -52,34 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: pry
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: awesome_print
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
55
  description: Ruboty handler to register a response.
84
56
  email:
85
57
  - kaihar4@gmail.com