del 0.1.15 → 0.1.16

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
  SHA256:
3
- metadata.gz: 4c692700ff52b08475986f45fd13437d99d69dfa93123bde4d96021200894cd4
4
- data.tar.gz: 3343f38e6ae8c7760d5bcee2315abe2c20f972b298beb1a201c34c1001ee26c3
3
+ metadata.gz: e16364d1ebe1f3488a79c52b5c6b02a56d67280c76b75c4f22edf17b84b007cd
4
+ data.tar.gz: 814184969ee5e5eb6506da65922354a840fc377f71cd02b132a160b7d308e83e
5
5
  SHA512:
6
- metadata.gz: e68e68bad8620911482ae6a029bd4bab2e41e0ce7c21ee295221e68327a39c5cd8702a256a408751623c09522b63d96ca0f95f92f4f401d4c322b7aa78fb0842
7
- data.tar.gz: 57f62a3bc023b8003d8c872864e94be4f6a3fc4ad7e6352793846d8deb6ed8b63689cbf4feda04f73bbdbaefae29b31018131eb3df7d769478fe6ead240d5dba
6
+ metadata.gz: 9f83cd17cabc1de409cf471b4158a58a661fc06216e51ff5263cc4606fb0db3a314adc998576d1bcc2731c88535f1aec03a87c0dbf156908bdca5c2cce11dc07
7
+ data.tar.gz: 03a42d1386bafd92c9e945ed547c5fd41115c1ffee2c7180447ca4f5c43ca6462fce4f96cd3d52df95a175bbdc95c081902326b4519b3ef531db92f4f1578893
data/lib/del.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "json"
2
2
  require "logger"
3
+ require "open3"
3
4
  require "socket"
4
5
  require "xmpp4r"
5
6
  require "xmpp4r/muc/helper/mucbrowser"
@@ -1,5 +1,6 @@
1
1
  module Del
2
2
  class Message
3
+ PREFIX = "/code"
3
4
  attr_reader :text, :robot, :source
4
5
 
5
6
  def initialize(text, robot:, source:)
@@ -12,6 +13,24 @@ module Del
12
13
  source.reply(robot, message)
13
14
  end
14
15
 
16
+ def execute_shell(command)
17
+ command = Array(command).flatten.join(' ')
18
+ reply("Okay, I will run #{command}.")
19
+ success = false
20
+ Open3.popen3(command) do |stdin, stdout, stderr, wait_thr|
21
+ stdout.each_line do |line|
22
+ yield line if block_given?
23
+ reply("#{PREFIX} #{line}")
24
+ end
25
+ stderr.each_line do |line|
26
+ yield line if block_given?
27
+ reply("#{PREFIX} #{line}")
28
+ end
29
+ success = wait_thr.value.success?
30
+ end
31
+ success
32
+ end
33
+
15
34
  def to_s
16
35
  "#{source}: #{text}"
17
36
  end
@@ -1,3 +1,3 @@
1
1
  module Del
2
- VERSION = "0.1.15"
2
+ VERSION = "0.1.16"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: del
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo