diff-runner 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/diff-runner/invocation.rb +1 -23
- data/lib/diff-runner/invocation_runner.rb +13 -0
- data/lib/diff-runner/presenter.rb +30 -0
- data/lib/diff-runner/version.rb +1 -1
- data/lib/diff-runner.rb +14 -3
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0860457527ffc5c20d58823a7a6f900874321bf8
|
4
|
+
data.tar.gz: 2a49cbc8a414663251082aa137750edc54cdc8b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 765127beca0a2b918bba39c0bb01b570d966aad9e9a20c4795512964cbd38c5a56099c84904beb526cb64d0696130ae9c38401afb759c9bc998efbe72a0c5ad7
|
7
|
+
data.tar.gz: c81a1c04f89b09dee713ce37eae93062113c10d4533591100c28ad4972a973e5411bd8d51e0ecb1b1341883b2f93deaef8124712756e2fc47cd224225d8d3961
|
@@ -1,34 +1,12 @@
|
|
1
1
|
|
2
2
|
module DiffRunner
|
3
3
|
class Invocation
|
4
|
-
attr_reader :pid
|
5
|
-
|
6
4
|
def initialize(cmd)
|
7
5
|
@cmd = cmd
|
8
6
|
end
|
9
7
|
|
10
|
-
def run
|
11
|
-
Thread.new do
|
12
|
-
puts `clear`
|
13
|
-
present output
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
8
|
def output
|
18
|
-
IO.popen(@cmd)
|
19
|
-
io.read
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def present(message)
|
24
|
-
if @pid
|
25
|
-
Process.kill("QUIT", @pid) rescue nil
|
26
|
-
end
|
27
|
-
|
28
|
-
IO.popen("less", "w") do |io|
|
29
|
-
io.puts message
|
30
|
-
@pid = io.pid
|
31
|
-
end
|
9
|
+
IO.popen(@cmd, &:read)
|
32
10
|
end
|
33
11
|
end
|
34
12
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
module DiffRunner
|
3
|
+
class Presenter
|
4
|
+
attr_reader :pid
|
5
|
+
|
6
|
+
def present(str)
|
7
|
+
presenting = true
|
8
|
+
if @pid
|
9
|
+
Process.kill("QUIT", @pid) rescue nil
|
10
|
+
end
|
11
|
+
|
12
|
+
Thread.new do
|
13
|
+
puts `clear`
|
14
|
+
IO.popen("less", "w") do |io|
|
15
|
+
io.puts str
|
16
|
+
@pid = io.pid
|
17
|
+
end
|
18
|
+
|
19
|
+
if !presenting
|
20
|
+
puts `clear`
|
21
|
+
exit(0)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
presenting = false
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
|
data/lib/diff-runner/version.rb
CHANGED
data/lib/diff-runner.rb
CHANGED
@@ -1,13 +1,20 @@
|
|
1
1
|
require "diff-runner/version"
|
2
2
|
require "diff-runner/invocation"
|
3
|
+
require "diff-runner/presenter"
|
3
4
|
require "diff-runner/registary"
|
5
|
+
require "diff-runner/invocation_runner"
|
4
6
|
|
5
7
|
module DiffRunner
|
6
8
|
class App
|
7
9
|
def run
|
8
|
-
|
9
|
-
Registary.instance.register(".",
|
10
|
-
|
10
|
+
runner.run
|
11
|
+
Registary.instance.register(".", runner)
|
12
|
+
begin
|
13
|
+
sleep
|
14
|
+
rescue Interrupt
|
15
|
+
end
|
16
|
+
puts `clear`
|
17
|
+
puts "Bye!"
|
11
18
|
end
|
12
19
|
|
13
20
|
def invocation
|
@@ -22,6 +29,10 @@ module DiffRunner
|
|
22
29
|
|
23
30
|
@invocation
|
24
31
|
end
|
32
|
+
|
33
|
+
def runner
|
34
|
+
@runner ||= InvocationRunner.new invocation, Presenter.new
|
35
|
+
end
|
25
36
|
end
|
26
37
|
end
|
27
38
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diff-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Max Felgenhauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -87,6 +87,8 @@ files:
|
|
87
87
|
- diff-runner.gemspec
|
88
88
|
- lib/diff-runner.rb
|
89
89
|
- lib/diff-runner/invocation.rb
|
90
|
+
- lib/diff-runner/invocation_runner.rb
|
91
|
+
- lib/diff-runner/presenter.rb
|
90
92
|
- lib/diff-runner/registary.rb
|
91
93
|
- lib/diff-runner/version.rb
|
92
94
|
homepage: https://github.com/felgenh3/diff-runner
|