diff-runner 0.1.0 → 0.1.1

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: 191e367109bab37eb885f9ba9492de477adadb7c
4
- data.tar.gz: 8144975fb863f2547b19a797e005698f971c7534
3
+ metadata.gz: 3670b470666327ebeab9b54c1fdae2d2f59f94a4
4
+ data.tar.gz: 5736c022a16e3c15a3e6db7cdb59e3a1e793e286
5
5
  SHA512:
6
- metadata.gz: 9813daa8c66cbee93f0c74242ee9d175616b8086c0ada9d759a475a10c4793d59e2ccbb74dc886de1ab9b1aa602c518eeb4bc2e62b5905ea35b80767e28d90da
7
- data.tar.gz: 6e842ff9411deedb59fcd77979b213c8523c82a18df12e6995bad42e7e3f0feb0a9264d11048df758ceb915190ff6f0bffb33481e28b017a8a548ee21e665391
6
+ metadata.gz: c0e33d79f083b8a7e2fc01d30f53fb3fcea48a56afcfddbda3855aba3d38c5ecaf06c9845f6503ba2a67882b698a1caec59db9f4d9c4201d8a6820a6897260cd
7
+ data.tar.gz: acf10512732a8c14f15795c6aa02aaf0631a19e5c48fccdaacd1dacd2bade89892c506da6e61a4701592a9a0e1e88bfbc20f22591e2b98b03a1f17f9b6becb4d
data/diff-runner.gemspec CHANGED
@@ -23,4 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.12"
24
24
  spec.add_development_dependency "rake", "~> 10.0"
25
25
  spec.add_development_dependency "rspec", "~> 3.0"
26
+ spec.add_development_dependency "pry"
26
27
  end
@@ -0,0 +1,47 @@
1
+ require 'listen'
2
+
3
+ module DiffRunner
4
+ class Registary
5
+
6
+ def initialize
7
+ @listeners = {}
8
+ end
9
+
10
+ @@instance = Registary.new
11
+
12
+ def self.instance
13
+ @@instance
14
+ end
15
+
16
+ def register(path, action)
17
+ listener = Listen.to(path) do |m, a, d|
18
+ action.run
19
+ end
20
+
21
+ listener.start
22
+
23
+ @listeners[path] = listener
24
+ end
25
+
26
+ def clear
27
+ @listeners.each do |path, listener|
28
+ listener.stop
29
+ end
30
+
31
+ @listeners = {}
32
+ end
33
+
34
+ def unregister(path)
35
+ if @listeners.has_key? path
36
+ @listeners.delete(path).stop
37
+ end
38
+ end
39
+
40
+ def is_listening?(path)
41
+ @listeners.key? path
42
+ end
43
+
44
+ private_class_method :new
45
+ end
46
+ end
47
+
@@ -1,3 +1,3 @@
1
1
  module DiffRunner
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/diff-runner.rb CHANGED
@@ -1,23 +1,26 @@
1
1
  require "diff-runner/version"
2
2
  require "diff-runner/invocation"
3
-
4
- require 'listen'
3
+ require "diff-runner/registary"
5
4
 
6
5
  module DiffRunner
7
-
8
6
  class App
9
7
  def run
10
8
  invocation.run
11
- changes = Listen.to(".") do |m, a, d|
12
- invocation.run
13
- end
14
- changes.start
15
-
9
+ Registary.instance.register(".", invocation)
16
10
  sleep
17
11
  end
18
12
 
19
13
  def invocation
20
- @invocation ||= Invocation.new ARGV
14
+ if not @invocation
15
+ if ARGV.empty?
16
+ $stderr.puts "Please provide a command to run"
17
+ exit(1)
18
+ end
19
+
20
+ @invocation = Invocation.new ARGV
21
+ end
22
+
23
+ @invocation
21
24
  end
22
25
  end
23
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diff-runner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Felgenhauer
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.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'
55
69
  description: watch a directory and run a command in the event of a change
56
70
  email:
57
71
  - mfelgenhauer@tsrsolutions.com
@@ -73,6 +87,7 @@ files:
73
87
  - diff-runner.gemspec
74
88
  - lib/diff-runner.rb
75
89
  - lib/diff-runner/invocation.rb
90
+ - lib/diff-runner/registary.rb
76
91
  - lib/diff-runner/version.rb
77
92
  homepage: https://github.com/felgenh3/diff-runner
78
93
  licenses: