diff-runner 0.1.0 → 0.1.1

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: 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: