diff-runner 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3670b470666327ebeab9b54c1fdae2d2f59f94a4
4
- data.tar.gz: 5736c022a16e3c15a3e6db7cdb59e3a1e793e286
3
+ metadata.gz: 0860457527ffc5c20d58823a7a6f900874321bf8
4
+ data.tar.gz: 2a49cbc8a414663251082aa137750edc54cdc8b3
5
5
  SHA512:
6
- metadata.gz: c0e33d79f083b8a7e2fc01d30f53fb3fcea48a56afcfddbda3855aba3d38c5ecaf06c9845f6503ba2a67882b698a1caec59db9f4d9c4201d8a6820a6897260cd
7
- data.tar.gz: acf10512732a8c14f15795c6aa02aaf0631a19e5c48fccdaacd1dacd2bade89892c506da6e61a4701592a9a0e1e88bfbc20f22591e2b98b03a1f17f9b6becb4d
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) do |io|
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,13 @@
1
+
2
+ module DiffRunner
3
+ class InvocationRunner
4
+ def initialize(action, pager)
5
+ @action = action
6
+ @pager = pager
7
+ end
8
+
9
+ def run
10
+ @pager.present @action.output
11
+ end
12
+ end
13
+ 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
+
@@ -1,3 +1,3 @@
1
1
  module DiffRunner
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
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
- invocation.run
9
- Registary.instance.register(".", invocation)
10
- sleep
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.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-07 00:00:00.000000000 Z
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