watch-me-now 1.1.1 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -8,4 +8,4 @@ A small script that builds on [watchr](http://github.com/mynyml/watchr) to try a
8
8
 
9
9
  gem install watch-me-now --source http://gemcutter.org
10
10
  cd YOUR_PROJECT
11
- watch-me-now
11
+ watchr watch-me-now.rb
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.1.4
data/bin/watch-me-now CHANGED
@@ -1,69 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
- # --------------------------------------------------
3
- # Convenience Methods
4
- # --------------------------------------------------
5
-
6
- if __FILE__ == $0
7
- exec("watchr #{__FILE__}")
8
- end
9
-
10
- def test_folder
11
- @test_folder ||= %w[spec specs examples test].detect { |p| File.directory?(p) }
12
- end
13
-
14
- def test_suffix
15
- case test_folder
16
- when "spec", "specs" then "spec"
17
- when "examples" then "example"
18
- when "test" then "test"
19
- end
20
- end
21
-
22
- def all_test_files
23
- Dir["#{test_folder}/**/*_#{test_suffix}.rb"]
24
- end
25
-
26
- def run_test_matching(thing_to_match)
27
- matches = all_test_files.grep /#{thing_to_match}/i
28
- if matches.empty?
29
- puts "Sorry, thanks for playing, but there were no matches for #{thing_to_match}"
30
- else
31
- run matches.join(' ')
32
- end
33
- end
34
-
35
- def run(files_to_run)
36
- cmd = "ruby -I#{test_folder} #{files_to_run}"
37
- puts cmd
38
- system("ruby -I#{test_folder} #{files_to_run}")
39
- end
40
-
41
- def run_all_tests
42
- run(all_test_files.join(' '))
43
- end
44
-
45
-
46
- # --------------------------------------------------
47
- # Watchr Rules
48
- # --------------------------------------------------
49
- watch("^lib/(.*)\.rb") { |m| run_test_matching(m[1]) }
50
- watch("^#{test_folder}/(.*)_#{test_suffix}\.rb") { |m| run_test_matching(m[1]) }
51
- watch("^#{test_folder}/(.*)\.rb") { |m| run_test_matching(m[1]) }
52
- watch("^#{test_folder}/#{test_suffix}_helper\.rb") { run_all_tests }
53
-
54
- watch('^features/(.*)') { system "cucumber --tags @fit features/other/" }
55
-
56
- # --------------------------------------------------
57
- # Signal Handling
58
- # --------------------------------------------------
59
- Signal.trap 'INT' do
60
- if @sent_an_int then
61
- puts " A second INT? Ok, I get the message. Shutting down now."
62
- exit
63
- else
64
- puts " Did you just send me an INT? Ugh. I'll quit for real if you do it again."
65
- @sent_an_int = true
66
- Kernel.sleep 1.5
67
- run_all_tests
68
- end
69
- end
2
+ # This doesnt work - use 'watchr watch-me-now.rb'
3
+ watchr watch-me-now.rb
data/lib/watch-me-now.rb CHANGED
@@ -0,0 +1,65 @@
1
+ # --------------------------------------------------
2
+ # Convenience Methods
3
+ # --------------------------------------------------
4
+ def test_folder
5
+ @test_folder ||= %w[spec specs examples test].detect { |p| File.directory?(p) }
6
+ end
7
+
8
+ def test_suffix
9
+ case test_folder
10
+ when "spec", "specs" then "spec"
11
+ when "examples" then "example"
12
+ when "test" then "test"
13
+ end
14
+ end
15
+
16
+ def all_test_files
17
+ Dir["#{test_folder}/**/*_#{test_suffix}.rb"]
18
+ end
19
+
20
+ def run_test_matching(thing_to_match)
21
+ matches = all_test_files.grep /#{thing_to_match}/i
22
+ if matches.empty?
23
+ puts "Sorry, thanks for playing, but there were no matches for #{thing_to_match}"
24
+ else
25
+ run matches.join(' ')
26
+ end
27
+ end
28
+
29
+ def run(files_to_run)
30
+ cmd = "ruby -I#{test_folder} #{files_to_run}"
31
+ puts cmd
32
+ system("ruby -I#{test_folder} #{files_to_run}")
33
+ end
34
+
35
+ def run_all_tests
36
+ run(all_test_files.join(' '))
37
+ end
38
+
39
+
40
+ # --------------------------------------------------
41
+ # Watchr Rules
42
+ # --------------------------------------------------
43
+ watch("^lib/(.*)\.rb") { |m| run_test_matching(m[1]) }
44
+ watch("^#{test_folder}/(.*)_#{test_suffix}\.rb") { |m| run_test_matching(m[1]) }
45
+ watch("^#{test_folder}/(.*)\.rb") { |m| run_test_matching(m[1]) }
46
+ watch("^#{test_folder}/#{test_suffix}_helper\.rb") { run_all_tests }
47
+
48
+ watch('^features/(.*)') { system "cucumber --tags @fit features/other/" }
49
+
50
+ # --------------------------------------------------
51
+ # Signal Handling
52
+ # --------------------------------------------------
53
+ Signal.trap 'INT' do
54
+ if @sent_an_int then
55
+ puts " A second INT? Ok, I get the message. Shutting down now."
56
+ exit
57
+ else
58
+ puts " Did you just send me an INT? Ugh. I'll quit for real if you do it again."
59
+ @sent_an_int = true
60
+ Kernel.sleep 1.5
61
+ run_all_tests
62
+ end
63
+ end
64
+
65
+ puts "watch-me-now loaded and watching..."
data/watch-me-now.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{watch-me-now}
8
- s.version = "1.1.1"
8
+ s.version = "1.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Rob Sanheim"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watch-me-now
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Sanheim