jacuzzi 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/jacuzzi +1 -1
  2. data/lib/jacuzzi.rb +15 -8
  3. metadata +22 -11
data/bin/jacuzzi CHANGED
@@ -5,7 +5,7 @@ require 'bundler/setup'
5
5
 
6
6
  require 'trollop'
7
7
  opts = Trollop::options do
8
- version "jacuzzi 0.1.3 (c) 2011 Matthew Trost"
8
+ version "jacuzzi 0.1.4 (c) 2011 Matthew Trost"
9
9
  banner <<-EOS
10
10
  jacuzzi pulls your RSpec+Capybara+Selenium tests down from a git repo, and runs them.
11
11
 
data/lib/jacuzzi.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'find'
4
+ require 'git'
5
+ require 'fileutils'
6
+ require 'rspec'
4
7
 
5
8
  class Jacuzzi
6
9
  attr_accessor :test_source, :app_host, :test_paths
@@ -10,9 +13,9 @@ class Jacuzzi
10
13
  @test_paths = []
11
14
 
12
15
  puts "Building temporary directories ..."
13
- %x[mkdir ./.jacuzzi]
14
- %x[mkdir ./.jacuzzi/spec]
15
- %x[mkdir ./.jacuzzi/tmp]
16
+ Dir.mkdir('.jacuzzi')
17
+ Dir.mkdir('.jacuzzi/spec')
18
+ Dir.mkdir('.jacuzzi/tmp')
16
19
 
17
20
  puts "Generating spec helper ..."
18
21
  spec_helper_content = <<HEREDOC
@@ -27,7 +30,7 @@ HEREDOC
27
30
 
28
31
  def heat
29
32
  puts "Cranking up the heat (retrieving tests) ..."
30
- %x[git clone #{@test_source} ./.jacuzzi/tmp/tests]
33
+ Git.clone("#{@test_source}", './.jacuzzi/tmp/tests')
31
34
 
32
35
  Find.find('./.jacuzzi/tmp/tests/') do |path|
33
36
  @test_paths << path if File.extname(path) == '.rb'
@@ -35,7 +38,7 @@ HEREDOC
35
38
 
36
39
  puts "Tests retrieved:"
37
40
  @test_paths.each do |path|
38
- %x[cp #{path} ./.jacuzzi/spec/#{File.basename(path)}]
41
+ FileUtils.cp path, "./.jacuzzi/spec/#{File.basename(path)}"
39
42
  end
40
43
  p @test_paths
41
44
 
@@ -56,12 +59,16 @@ HEREDOC
56
59
 
57
60
  def whirl
58
61
  puts "Start up the whirlpool, baybay (running the tests):"
59
- system('rspec ./.jacuzzi/spec -c -f documentation')
60
- puts "Ahhhh ... How relaxing, to sit in the jacuzzi."
62
+ begin
63
+ RSpec::Core::Runner.run(['./.jacuzzi/spec', '-c', '-f', 'documentation'])
64
+ rescue
65
+ puts 'Somebody took a shit in the jacuzzi.'
66
+ end
67
+ puts "Ahhhh ... How relaxing, to soak in the jacuzzi."
61
68
  end
62
69
 
63
70
  def cool
64
71
  puts "Shut this mutha down (removing temporary files) ..."
65
- %x[rm -rf ./.jacuzzi]
72
+ FileUtils.rm_rf './.jacuzzi'
66
73
  end
67
74
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jacuzzi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-11-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &2153399560 !ruby/object:Gem::Requirement
16
+ requirement: &2157150720 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,21 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2153399560
24
+ version_requirements: *2157150720
25
+ - !ruby/object:Gem::Dependency
26
+ name: git
27
+ requirement: &2157150280 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2157150280
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: rspec
27
- requirement: &2153399120 !ruby/object:Gem::Requirement
38
+ requirement: &2157175700 !ruby/object:Gem::Requirement
28
39
  none: false
29
40
  requirements:
30
41
  - - ! '>='
@@ -32,10 +43,10 @@ dependencies:
32
43
  version: '0'
33
44
  type: :runtime
34
45
  prerelease: false
35
- version_requirements: *2153399120
46
+ version_requirements: *2157175700
36
47
  - !ruby/object:Gem::Dependency
37
48
  name: capybara
38
- requirement: &2153398700 !ruby/object:Gem::Requirement
49
+ requirement: &2157175280 !ruby/object:Gem::Requirement
39
50
  none: false
40
51
  requirements:
41
52
  - - ! '>='
@@ -43,10 +54,10 @@ dependencies:
43
54
  version: '0'
44
55
  type: :runtime
45
56
  prerelease: false
46
- version_requirements: *2153398700
57
+ version_requirements: *2157175280
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: trollop
49
- requirement: &2153398280 !ruby/object:Gem::Requirement
60
+ requirement: &2157174860 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ! '>='
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: '0'
55
66
  type: :runtime
56
67
  prerelease: false
57
- version_requirements: *2153398280
68
+ version_requirements: *2157174860
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: selenium-webdriver
60
- requirement: &2153397860 !ruby/object:Gem::Requirement
71
+ requirement: &2157174440 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ! '>='
@@ -65,7 +76,7 @@ dependencies:
65
76
  version: '0'
66
77
  type: :runtime
67
78
  prerelease: false
68
- version_requirements: *2153397860
79
+ version_requirements: *2157174440
69
80
  description: jacuzzi pulls your RSpec+Capybara+Selenium tests down from a git repo,
70
81
  and runs them.
71
82
  email: mrtrost@gmail.com