timcharper-spork 0.3 → 0.3.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.
data/History.txt ADDED
@@ -0,0 +1,10 @@
1
+ == 0.3.x (Git)
2
+ === New Features
3
+
4
+ === Bugfixes
5
+
6
+ == 0.3.1 2009-05-25
7
+ * Extracted bin logic into Runner file, improved requiring and load path setup, and cleaned up file organization. (Ben Mabey)
8
+
9
+ == 0.3.0 2009-05
10
+ * Initial release with SpecServer, Bootstraper, and basic option parsing. (Tim Harper)
data/bin/spork CHANGED
@@ -1,45 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
- gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9
3
-
4
2
  require 'rubygems'
5
- require 'spork'
6
- require 'optparse'
7
-
8
- ENV["DRB"] = 'true'
9
- ENV["RAILS_ENV"] ||= 'test' if Spork.using_rails?
10
-
11
- options = {}
12
- parser = OptionParser.new
13
- parser.on("-d", "--daemon") {|ignore| options[:daemon] = true }
14
- parser.on("-b", "--bootstrap") {|ignore| options[:bootstrap] = true }
15
- parser.on("-p", "--pid PIDFILE"){|pid| options[:pid] = pid }
16
- parser.parse!(ARGV)
17
-
18
- unless File.exist?(Spork::SPEC_HELPER_FILE)
19
- puts <<-USEFUL_ERROR
20
- Bummer!
3
+ gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9 # Why do we need this?
21
4
 
22
- I can't find the file spec/spec_helper.rb, which I need in order to run.
5
+ $LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib') unless $LOAD_PATH.include?(File.dirname(__FILE__) + '/../lib')
23
6
 
24
- Are you running me from a project directory that has rspec set up?
25
- USEFUL_ERROR
26
- exit 1
27
- end
28
-
29
- if options[:bootstrap]
30
- if Spork.bootstrap
31
- exit 0
32
- else
33
- exit 1
34
- end
7
+ require 'spork'
8
+ require 'spork/runner'
9
+
10
+ begin
11
+ success = Spork::Runner.run(ARGV, STDOUT, STDERR)
12
+ Kernel.exit(success ? 0 : 1)
13
+ rescue Exception => e
14
+ STDERR.puts("#{e.message} (#{e.class})")
15
+ STDERR.puts(e.backtrace.join("\n"))
16
+ Kernel.exit 1
35
17
  end
36
18
 
37
- require 'spork/spec_server'
38
- Spork.preload || exit(1)
39
-
40
- if options[:daemon]
41
- ::Spork::SpecServer.daemonize(options[:pid])
42
- else
43
- ::Spork::SpecServer.run
44
- end
45
19
 
@@ -0,0 +1,61 @@
1
+ require 'optparse'
2
+
3
+ module Spork
4
+ class Runner
5
+
6
+ def self.run(args, output, error)
7
+ self.new(args, output, error).run
8
+ end
9
+
10
+ def initialize(args, output, error)
11
+ @output = output
12
+ @error = error
13
+ @options = {}
14
+ parser = OptionParser.new
15
+ parser.on("-d", "--daemon") {|ignore| @options[:daemon] = true }
16
+ parser.on("-b", "--bootstrap") {|ignore| @options[:bootstrap] = true }
17
+ parser.on("-p", "--pid PIDFILE"){|pid| @options[:pid] = pid }
18
+ parser.parse!(args)
19
+ end
20
+
21
+
22
+ def run
23
+ ENV["DRB"] = 'true'
24
+ ENV["RAILS_ENV"] ||= 'test' if Spork.using_rails?
25
+
26
+ unless File.exist?(Spork::SPEC_HELPER_FILE)
27
+ @output.puts <<-USEFUL_ERROR
28
+ Bummer!
29
+
30
+ I can't find the file spec/spec_helper.rb, which I need in order to run.
31
+
32
+ Are you running me from a project directory that has rspec set up?
33
+ USEFUL_ERROR
34
+ return false
35
+ end
36
+
37
+
38
+ return Spork.bootstrap if options[:bootstrap]
39
+
40
+ require 'spork/spec_server'
41
+ return(false) unless Spork.preload
42
+
43
+ if options[:daemon]
44
+ ::Spork::SpecServer.daemonize(options[:pid])
45
+ else
46
+ ::Spork::SpecServer.run
47
+ end
48
+ return true
49
+ end
50
+
51
+ private
52
+ attr_reader :options
53
+
54
+ end
55
+ end
56
+
57
+
58
+
59
+
60
+
61
+
data/lib/spork.rb CHANGED
@@ -1,3 +1,4 @@
1
+ $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unless $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))
1
2
  module Spork
2
3
  SPEC_HELPER_FILE = File.join(Dir.pwd, "spec/spec_helper.rb")
3
4
 
@@ -64,4 +65,4 @@ module Spork
64
65
  end
65
66
  true
66
67
  end
67
- end
68
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec'
2
+
3
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
+ require 'spork'
6
+
7
+ Spec::Runner.configure do |config|
8
+
9
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe Spork do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timcharper-spork
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.3"
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Harper
@@ -9,8 +9,8 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-20 00:00:00 -07:00
13
- default_executable:
12
+ date: 2009-05-25 00:00:00 -07:00
13
+ default_executable: spork
14
14
  dependencies: []
15
15
 
16
16
  description: A forking Drb spec server
@@ -23,12 +23,13 @@ extensions: []
23
23
  extra_rdoc_files:
24
24
  - README.rdoc
25
25
  files:
26
+ - History.txt
26
27
  - README.rdoc
27
- - lib/spork
28
- - lib/spork/spec_server.rb
29
- - lib/spork.rb
30
28
  - assets/bootstrap.rb
31
- has_rdoc: true
29
+ - lib/spork.rb
30
+ - lib/spork/runner.rb
31
+ - lib/spork/spec_server.rb
32
+ has_rdoc: false
32
33
  homepage: http://github.com/timcharper/spork
33
34
  post_install_message:
34
35
  rdoc_options:
@@ -53,7 +54,8 @@ requirements: []
53
54
  rubyforge_project: spork
54
55
  rubygems_version: 1.2.0
55
56
  signing_key:
56
- specification_version: 2
57
+ specification_version: 3
57
58
  summary: spork 0.3
58
- test_files: []
59
-
59
+ test_files:
60
+ - spec/spec_helper.rb
61
+ - spec/spork_spec.rb