spork 0.9.0.rc8-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +10 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +134 -0
- data/assets/bootstrap.rb +47 -0
- data/bin/spork +20 -0
- data/features/at_exit_during_each_run.feature +36 -0
- data/features/cucumber_rails_integration.feature +107 -0
- data/features/diagnostic_mode.feature +41 -0
- data/features/gemfiles/rails3.0/Gemfile +14 -0
- data/features/gemfiles/rails3.0/Gemfile.lock +120 -0
- data/features/rails_delayed_loading_workarounds.feature +177 -0
- data/features/rspec_rails_integration.feature +92 -0
- data/features/spork_debugger.feature +108 -0
- data/features/steps/general_steps.rb +3 -0
- data/features/steps/rails_steps.rb +67 -0
- data/features/steps/sandbox_steps.rb +115 -0
- data/features/support/background_job.rb +63 -0
- data/features/support/bundler_helpers.rb +41 -0
- data/features/support/env.rb +105 -0
- data/features/unknown_app_framework.feature +42 -0
- data/lib/spork.rb +155 -0
- data/lib/spork/app_framework.rb +80 -0
- data/lib/spork/app_framework/padrino.rb +22 -0
- data/lib/spork/app_framework/rails.rb +82 -0
- data/lib/spork/app_framework/unknown.rb +6 -0
- data/lib/spork/custom_io_streams.rb +25 -0
- data/lib/spork/diagnoser.rb +105 -0
- data/lib/spork/ext/rails-reloader.rb +14 -0
- data/lib/spork/ext/ruby-debug.rb +150 -0
- data/lib/spork/forker.rb +71 -0
- data/lib/spork/gem_helpers.rb +38 -0
- data/lib/spork/run_strategy.rb +48 -0
- data/lib/spork/run_strategy/forking.rb +35 -0
- data/lib/spork/run_strategy/magazine.rb +151 -0
- data/lib/spork/run_strategy/magazine/magazine_slave.rb +30 -0
- data/lib/spork/run_strategy/magazine/magazine_slave_provider.rb +30 -0
- data/lib/spork/run_strategy/magazine/ring_server.rb +10 -0
- data/lib/spork/runner.rb +90 -0
- data/lib/spork/server.rb +77 -0
- data/lib/spork/test_framework.rb +167 -0
- data/lib/spork/test_framework/cucumber.rb +38 -0
- data/lib/spork/test_framework/rspec.rb +14 -0
- data/spec/spec_helper.rb +113 -0
- data/spec/spork/app_framework/rails_spec.rb +22 -0
- data/spec/spork/app_framework/unknown_spec.rb +12 -0
- data/spec/spork/app_framework_spec.rb +16 -0
- data/spec/spork/diagnoser_spec.rb +105 -0
- data/spec/spork/forker_spec.rb +44 -0
- data/spec/spork/run_strategy/forking_spec.rb +38 -0
- data/spec/spork/runner_spec.rb +50 -0
- data/spec/spork/server_spec.rb +15 -0
- data/spec/spork/test_framework/cucumber_spec.rb +11 -0
- data/spec/spork/test_framework/rspec_spec.rb +10 -0
- data/spec/spork/test_framework_shared_examples.rb +23 -0
- data/spec/spork/test_framework_spec.rb +90 -0
- data/spec/spork_spec.rb +153 -0
- data/spec/support/fake_framework.rb +15 -0
- data/spec/support/fake_run_strategy.rb +21 -0
- metadata +173 -0
data/Gemfile
ADDED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Tim Harper
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
= Spork
|
2
|
+
|
3
|
+
* Repository: http://github.com/timcharper/spork
|
4
|
+
* Issues: http://github.com/timcharper/spork/issues
|
5
|
+
* Changes: http://github.com/timcharper/spork/blob/master/History.txt
|
6
|
+
* Mailing list: http://groups.google.com/group/sporkgem
|
7
|
+
* Wiki: http://wiki.github.com/timcharper/spork
|
8
|
+
|
9
|
+
== SYNOPSIS:
|
10
|
+
|
11
|
+
Spork is Tim Harper's implementation of test server (similar to the script/spec_server that used to be provided by rspec-rails), except rather than using the Rails constant unloading to reload your files, it forks a copy of the server each time you run your tests. The result? Spork runs more solid: it doesn't get corrupted over time, it can work with any ruby framework, and it properly handles modules and any voodoo meta programming you may have put in your app.
|
12
|
+
|
13
|
+
Spork runs on POSIX systems using fork. It also runs on windows by pre-populating a pool of ready processes (referred to here as the "magazine" strategy).
|
14
|
+
|
15
|
+
== Supported Testing Frameworks
|
16
|
+
|
17
|
+
* Rspec
|
18
|
+
* Cucumber
|
19
|
+
* Test::Unit (via 'gem install spork-testunit')
|
20
|
+
|
21
|
+
== Supported Application Frameworks
|
22
|
+
|
23
|
+
Actually, Spork ~can~ work with any application framework. But, it ships with hooks and helpers to make an "out of the box" experience.
|
24
|
+
|
25
|
+
* Rails 3.0 (for Rails 2.{1,2,3}.x, please try spork 0.8.x)
|
26
|
+
* Padrino
|
27
|
+
|
28
|
+
== INSTALL:
|
29
|
+
|
30
|
+
=== rubygems:
|
31
|
+
|
32
|
+
[sudo] gem install spork --prerelease
|
33
|
+
|
34
|
+
(Rails 2.x)
|
35
|
+
|
36
|
+
[sudo] gem install spork --version 0.8.4
|
37
|
+
|
38
|
+
=== bundler:
|
39
|
+
|
40
|
+
Add to your Gemfile:
|
41
|
+
|
42
|
+
gem 'spork', '~> 0.9.0.rc'
|
43
|
+
|
44
|
+
(Rails 2.x, use this)
|
45
|
+
|
46
|
+
gem 'spork', '~> 0.8'
|
47
|
+
|
48
|
+
== Usage
|
49
|
+
|
50
|
+
From a terminal, change to your project directory.
|
51
|
+
|
52
|
+
Then, bootstrap your spec/spec_helper.rb file.
|
53
|
+
|
54
|
+
spork --bootstrap
|
55
|
+
|
56
|
+
Next, edit spec/spec_helper.rb and follow the instructions that were put at the top.
|
57
|
+
|
58
|
+
Finally, run spork. A spec DRb server will be running!
|
59
|
+
|
60
|
+
spork
|
61
|
+
|
62
|
+
== Diagnostic mode
|
63
|
+
|
64
|
+
Initially, you may find that a few files don't reload automatically. This is because they are being loaded during Spork startup. To identify which project files are being pre-loaded, and why, run:
|
65
|
+
|
66
|
+
spork --diagnose | less
|
67
|
+
(or spork -d, for short)
|
68
|
+
|
69
|
+
It will output a lot of stuff. At the top you'll find a summary of all project files loaded. Down below, the stack trace for each file (how it got loaded). Spork hooks into Rails and does some magic (TM) to prevent ApplicationController observers, etc from pre-loading. Similar hooks for other ruby frameworks may come as support demands.
|
70
|
+
|
71
|
+
Some project changes will require a spork restart, and you shouldn't expect them to not (IE: modifying your project gem dependencies or core application config). Any file that is loaded during Spork start-up will be cached until Spork is restarted. You can restart spork by sending a USR2 signal to the server process. This could be automated with a gem such as Kicker (https://github.com/alloy/kicker). Since a native hook is required for each operating system to efficiently watch for filesystem changes, automatic restarting has not been built into Spork.
|
72
|
+
|
73
|
+
You may find this wiki page useful for common ways to battle a variety of common pre-loading issues: http://github.com/timcharper/spork/wiki/Spork.trap_method-Jujutsu
|
74
|
+
|
75
|
+
== Running specs over Spork
|
76
|
+
|
77
|
+
=== RSpec
|
78
|
+
|
79
|
+
To get the TextMate RSpec bundle to use spork, go to config->advanced->shell variables, and add:
|
80
|
+
|
81
|
+
TM_RSPEC_OPTS=--drb.
|
82
|
+
|
83
|
+
To run from the command line, use:
|
84
|
+
|
85
|
+
rspec --drb spec/lib/my_spec.rb
|
86
|
+
|
87
|
+
Or, you could add the following flag to your +spec.opts+ (or +.rspec+ depending on your version of rspec) file.
|
88
|
+
|
89
|
+
--drb
|
90
|
+
|
91
|
+
=== Cucumber
|
92
|
+
|
93
|
+
Cucumber has DRb support (see http://wiki.github.com/cucumber/cucumber/spork-and---drb)
|
94
|
+
|
95
|
+
cucumber --drb features/my.feature
|
96
|
+
|
97
|
+
Use this as a guideline when "Sporking" your features/support/env.rb file
|
98
|
+
|
99
|
+
http://gist.github.com/123370
|
100
|
+
|
101
|
+
== Running the Spork test suite
|
102
|
+
|
103
|
+
If you wish to hack on spork, you will want to run the automated test suite to make sure your changes don't break anything. Spork uses bundler to manage and install dependencies. To start:
|
104
|
+
|
105
|
+
bundle install
|
106
|
+
|
107
|
+
Then, to run the specs:
|
108
|
+
|
109
|
+
bundle exec rspec spec/
|
110
|
+
|
111
|
+
(or, alternatively...)
|
112
|
+
|
113
|
+
bundle exec rake
|
114
|
+
|
115
|
+
=== running features ===
|
116
|
+
|
117
|
+
Essentially:
|
118
|
+
|
119
|
+
bundle exec cucumber features
|
120
|
+
|
121
|
+
== Some potential issues and ways to overcome them:
|
122
|
+
|
123
|
+
See http://wiki.github.com/timcharper/spork/troubleshooting
|
124
|
+
|
125
|
+
== Kudos to
|
126
|
+
|
127
|
+
* Ben Mabey - help with documentation, testing, suggestions, patches, and bringing Cucumber support.
|
128
|
+
* David Chelimsky - for the fine RSpec testing framework, and the original rspec-rails spec_server implementation, which Spork has built upon.
|
129
|
+
* LeadTune - just for being an awesome place to work.
|
130
|
+
* Alan Aslak - for the fine Cucumber testing framework, and for much collaboration getting cucumber working with spork.
|
131
|
+
* Roger Pack - JRuby support / Windows
|
132
|
+
* Donald Parish - Windows support (Magazine strategy)
|
133
|
+
|
134
|
+
Spork (c) 2011 Tim Harper, released under the MIT license
|
data/assets/bootstrap.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'spork'
|
3
|
+
|
4
|
+
Spork.prefork do
|
5
|
+
# Loading more in this block will cause your tests to run faster. However,
|
6
|
+
# if you change any configuration or code from libraries loaded here, you'll
|
7
|
+
# need to restart spork for it take effect.
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
Spork.each_run do
|
12
|
+
# This code will be run each time you run your specs.
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
# --- Instructions ---
|
17
|
+
# Sort the contents of this file into a Spork.prefork and a Spork.each_run
|
18
|
+
# block.
|
19
|
+
#
|
20
|
+
# The Spork.prefork block is run only once when the spork server is started.
|
21
|
+
# You typically want to place most of your (slow) initializer code in here, in
|
22
|
+
# particular, require'ing any 3rd-party gems that you don't normally modify
|
23
|
+
# during development.
|
24
|
+
#
|
25
|
+
# The Spork.each_run block is run each time you run your specs. In case you
|
26
|
+
# need to load files that tend to change during development, require them here.
|
27
|
+
# With Rails, your application modules are loaded automatically, so sometimes
|
28
|
+
# this block can remain empty.
|
29
|
+
#
|
30
|
+
# Note: You can modify files loaded *from* the Spork.each_run block without
|
31
|
+
# restarting the spork server. However, this file itself will not be reloaded,
|
32
|
+
# so if you change any of the code inside the each_run block, you still need to
|
33
|
+
# restart the server. In general, if you have non-trivial code in this file,
|
34
|
+
# it's advisable to move it into a separate file so you can easily edit it
|
35
|
+
# without restarting spork. (For example, with RSpec, you could move
|
36
|
+
# non-trivial code into a file spec/support/my_helper.rb, making sure that the
|
37
|
+
# spec/support/* files are require'd from inside the each_run block.)
|
38
|
+
#
|
39
|
+
# Any code that is left outside the two blocks will be run during preforking
|
40
|
+
# *and* during each_run -- that's probably not what you want.
|
41
|
+
#
|
42
|
+
# These instructions should self-destruct in 10 seconds. If they don't, feel
|
43
|
+
# free to delete them.
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
data/bin/spork
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib') unless $LOAD_PATH.include?(File.dirname(__FILE__) + '/../lib')
|
5
|
+
|
6
|
+
require 'spork'
|
7
|
+
require 'spork/runner'
|
8
|
+
|
9
|
+
begin
|
10
|
+
success = Spork::Runner.run(ARGV, STDOUT, STDERR)
|
11
|
+
Kernel.exit(success ? 0 : 1)
|
12
|
+
rescue SystemExit => e
|
13
|
+
Kernel.exit(e.status)
|
14
|
+
rescue Exception => e
|
15
|
+
STDERR.puts("#{e.message} (#{e.class})")
|
16
|
+
STDERR.puts(e.backtrace.join("\n"))
|
17
|
+
Kernel.exit 1
|
18
|
+
end
|
19
|
+
|
20
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
Feature: At exit during each run
|
2
|
+
In order to make sure at_exit hooks defined during the run get called
|
3
|
+
I want to override kernel #at_exit
|
4
|
+
|
5
|
+
Scenario: at exit
|
6
|
+
|
7
|
+
Given a file named "spec/spec_helper.rb" with:
|
8
|
+
"""
|
9
|
+
require 'rubygems'
|
10
|
+
require 'rspec'
|
11
|
+
Spork.prefork do
|
12
|
+
puts "loading"
|
13
|
+
at_exit { puts "prefork at_exit called" }
|
14
|
+
end
|
15
|
+
|
16
|
+
Spork.each_run do
|
17
|
+
puts "running"
|
18
|
+
at_exit { printf "first " }
|
19
|
+
at_exit { printf "second " }
|
20
|
+
end
|
21
|
+
|
22
|
+
"""
|
23
|
+
|
24
|
+
And a file named "spec/did_it_work_spec.rb" with:
|
25
|
+
"""
|
26
|
+
require 'spec_helper'
|
27
|
+
describe "Did it work?" do
|
28
|
+
it "checks to see if all worked" do
|
29
|
+
puts "ran specs"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
"""
|
33
|
+
When I fire up a spork instance with "spork rspec"
|
34
|
+
And I run rspec --drb spec/did_it_work_spec.rb
|
35
|
+
Then the output should contain "second first"
|
36
|
+
Then the output should not contain "prefork at_exit called"
|
@@ -0,0 +1,107 @@
|
|
1
|
+
Feature: Cucumber integration with rails
|
2
|
+
As a developer using cucumber and rails
|
3
|
+
I want to use Spork with Cucumber
|
4
|
+
In order to eliminate the startup cost of my application each time I run them
|
5
|
+
|
6
|
+
Background: Sporked env.rb
|
7
|
+
Given I am in a fresh rails project named "test_rails_project"
|
8
|
+
And the application has a model, observer, route, and application helper
|
9
|
+
And a file named "features/support/env.rb" with:
|
10
|
+
"""
|
11
|
+
require 'rubygems'
|
12
|
+
require 'spork'
|
13
|
+
ENV["RAILS_ENV"] ||= "test"
|
14
|
+
|
15
|
+
|
16
|
+
Spork.prefork do
|
17
|
+
# Loading more in this block will cause your tests to run faster. However,
|
18
|
+
# if you change any configuration or code from libraries loaded here, you'll
|
19
|
+
# need to restart spork for it take effect.
|
20
|
+
|
21
|
+
# Sets up the Rails environment for Cucumber
|
22
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
|
23
|
+
|
24
|
+
require 'cucumber'
|
25
|
+
require 'cucumber/formatter/unicode' # Comment out this line if you don't want Cucumber Unicode support
|
26
|
+
require 'rspec/rails'
|
27
|
+
require 'cucumber/rails/rspec'
|
28
|
+
|
29
|
+
#### this is for this test only #######
|
30
|
+
$loaded_stuff << 'prefork block' ######
|
31
|
+
#######################################
|
32
|
+
end
|
33
|
+
|
34
|
+
Spork.each_run do
|
35
|
+
#### this is for this test only #######
|
36
|
+
$loaded_stuff << 'each_run block' #####
|
37
|
+
#######################################
|
38
|
+
end
|
39
|
+
"""
|
40
|
+
And a file named "features/cucumber_rails.feature" with:
|
41
|
+
"""
|
42
|
+
Feature: cucumber rails
|
43
|
+
Scenario: did it work?
|
44
|
+
Then it should work
|
45
|
+
|
46
|
+
Scenario: did it work again?
|
47
|
+
Then it should work
|
48
|
+
"""
|
49
|
+
And a file named "features/support/cucumber_rails_helper.rb" with:
|
50
|
+
"""
|
51
|
+
$loaded_stuff << 'features/support/cucumber_rails_helper.rb'
|
52
|
+
"""
|
53
|
+
And a file named "config/database.yml" with:
|
54
|
+
"""
|
55
|
+
test:
|
56
|
+
adapter: sqlite3
|
57
|
+
database: db/test.sqlite3
|
58
|
+
timeout: 5000
|
59
|
+
"""
|
60
|
+
And a file named "features/step_definitions/cucumber_rails_steps.rb" with:
|
61
|
+
"""
|
62
|
+
Then "it should work" do
|
63
|
+
(Rails.respond_to?(:logger) ? Rails.logger : ActionController::Base.logger).info "hey there"
|
64
|
+
$loaded_stuff.should include('ActiveRecord::Base.establish_connection')
|
65
|
+
$loaded_stuff.should include('User')
|
66
|
+
$loaded_stuff.should include('UserObserver')
|
67
|
+
$loaded_stuff.should include('ApplicationHelper')
|
68
|
+
$loaded_stuff.should include('config/routes.rb')
|
69
|
+
$loaded_stuff.should include('features/support/cucumber_rails_helper.rb')
|
70
|
+
$loaded_stuff.should include('each_run block')
|
71
|
+
$loaded_stuff.should include('prefork block')
|
72
|
+
puts "It worked!"
|
73
|
+
end
|
74
|
+
|
75
|
+
Alors /ca marche/ do
|
76
|
+
end
|
77
|
+
"""
|
78
|
+
Scenario: Analyzing files were preloaded
|
79
|
+
When I run spork --diagnose
|
80
|
+
Then the output should not contain "user_observer.rb"
|
81
|
+
Then the output should not contain "user.rb"
|
82
|
+
Then the output should not contain "app/controllers/application.rb"
|
83
|
+
Then the output should not contain "app/controllers/application_controller.rb"
|
84
|
+
Then the output should not contain "app/controllers/application_helper.rb"
|
85
|
+
Then the output should not contain "features/step_definitions/cucumber_rails_steps.rb"
|
86
|
+
Then the output should not contain "features/support/cucumber_rails_helper.rb"
|
87
|
+
|
88
|
+
Scenario: Running spork with a rails app and no server
|
89
|
+
When I run cucumber --drb features
|
90
|
+
Then the error output should contain
|
91
|
+
"""
|
92
|
+
WARNING: No DRb server is running. Running features locally
|
93
|
+
"""
|
94
|
+
|
95
|
+
Scenario: Running spork with a rails app and observers
|
96
|
+
When I fire up a spork instance with "spork cucumber"
|
97
|
+
And I run cucumber --drb features
|
98
|
+
Then the error output should be empty
|
99
|
+
And the output should contain "It worked!"
|
100
|
+
And the file "log/test.log" should include "hey there"
|
101
|
+
|
102
|
+
Scenario: Running spork with a rails app and a non-standard port
|
103
|
+
When I fire up a spork instance with "spork cucumber -p 9000"
|
104
|
+
And I run cucumber --drb --port 9000 features
|
105
|
+
Then the error output should be empty
|
106
|
+
And the output should contain "It worked!"
|
107
|
+
And the file "log/test.log" should include "hey there"
|
@@ -0,0 +1,41 @@
|
|
1
|
+
Feature: Diagnostic Mode
|
2
|
+
To help a developer quickly pinpoint why files are being loaded
|
3
|
+
Spork provides a diagnostic mode
|
4
|
+
That provides a list of which project files were loaded during prefork, and who loaded them.
|
5
|
+
|
6
|
+
Scenario: Running spork --diagnose
|
7
|
+
Given I am in the directory "test_project"
|
8
|
+
And a file named "spec/spec_helper.rb" with:
|
9
|
+
"""
|
10
|
+
require 'rubygems'
|
11
|
+
require 'spork'
|
12
|
+
|
13
|
+
Spork.prefork do
|
14
|
+
require 'lib/awesome.rb'
|
15
|
+
require '../external_dependency/super_duper.rb'
|
16
|
+
end
|
17
|
+
|
18
|
+
Spork.each_run do
|
19
|
+
puts "I'm loading the stuff just for this run..."
|
20
|
+
end
|
21
|
+
"""
|
22
|
+
And a file named "lib/awesome.rb" with:
|
23
|
+
"""
|
24
|
+
class Awesome
|
25
|
+
end
|
26
|
+
"""
|
27
|
+
And a file named "../external_dependency/super_duper.rb" with:
|
28
|
+
"""
|
29
|
+
class Awesome
|
30
|
+
end
|
31
|
+
"""
|
32
|
+
When I run spork --diagnose
|
33
|
+
Then the error output should contain
|
34
|
+
"""
|
35
|
+
Loading Spork.prefork block...
|
36
|
+
"""
|
37
|
+
And the output should contain "lib/awesome.rb"
|
38
|
+
And the output should contain "spec/spec_helper.rb:5"
|
39
|
+
And the output should not contain "super_duper.rb"
|
40
|
+
And the output should not contain "diagnose.rb"
|
41
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
source :gemcutter
|
2
|
+
gem 'sqlite3-ruby', '1.2.5'
|
3
|
+
gem 'cucumber', '0.10.2'
|
4
|
+
gem 'cucumber-rails', '0.4.1'
|
5
|
+
gem "rspec", "2.5.0"
|
6
|
+
gem 'rspec-rails', "2.5.0"
|
7
|
+
gem 'rails', '3.0.7'
|
8
|
+
|
9
|
+
if RUBY_VERSION =~ /^1\.9/
|
10
|
+
gem 'ruby-debug19'
|
11
|
+
else
|
12
|
+
gem 'ruby-debug', '>= 0.10.3'
|
13
|
+
end
|
14
|
+
gem 'spork', :path => File.expand_path("../../..", File.dirname(__FILE__))
|
@@ -0,0 +1,120 @@
|
|
1
|
+
PATH
|
2
|
+
remote: /Users/timcharper/projects/spork
|
3
|
+
specs:
|
4
|
+
spork (0.9.0.rc7)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: http://rubygems.org/
|
8
|
+
specs:
|
9
|
+
abstract (1.0.0)
|
10
|
+
actionmailer (3.0.7)
|
11
|
+
actionpack (= 3.0.7)
|
12
|
+
mail (~> 2.2.15)
|
13
|
+
actionpack (3.0.7)
|
14
|
+
activemodel (= 3.0.7)
|
15
|
+
activesupport (= 3.0.7)
|
16
|
+
builder (~> 2.1.2)
|
17
|
+
erubis (~> 2.6.6)
|
18
|
+
i18n (~> 0.5.0)
|
19
|
+
rack (~> 1.2.1)
|
20
|
+
rack-mount (~> 0.6.14)
|
21
|
+
rack-test (~> 0.5.7)
|
22
|
+
tzinfo (~> 0.3.23)
|
23
|
+
activemodel (3.0.7)
|
24
|
+
activesupport (= 3.0.7)
|
25
|
+
builder (~> 2.1.2)
|
26
|
+
i18n (~> 0.5.0)
|
27
|
+
activerecord (3.0.7)
|
28
|
+
activemodel (= 3.0.7)
|
29
|
+
activesupport (= 3.0.7)
|
30
|
+
arel (~> 2.0.2)
|
31
|
+
tzinfo (~> 0.3.23)
|
32
|
+
activeresource (3.0.7)
|
33
|
+
activemodel (= 3.0.7)
|
34
|
+
activesupport (= 3.0.7)
|
35
|
+
activesupport (3.0.7)
|
36
|
+
arel (2.0.9)
|
37
|
+
builder (2.1.2)
|
38
|
+
columnize (0.3.2)
|
39
|
+
cucumber (0.10.2)
|
40
|
+
builder (>= 2.1.2)
|
41
|
+
diff-lcs (>= 1.1.2)
|
42
|
+
gherkin (>= 2.3.5)
|
43
|
+
json (>= 1.4.6)
|
44
|
+
term-ansicolor (>= 1.0.5)
|
45
|
+
cucumber-rails (0.4.1)
|
46
|
+
cucumber (>= 0.10.1)
|
47
|
+
nokogiri (>= 1.4.4)
|
48
|
+
rack-test (>= 0.5.7)
|
49
|
+
diff-lcs (1.1.2)
|
50
|
+
erubis (2.6.6)
|
51
|
+
abstract (>= 1.0.0)
|
52
|
+
gherkin (2.3.7)
|
53
|
+
json (>= 1.4.6)
|
54
|
+
i18n (0.5.0)
|
55
|
+
json (1.5.1)
|
56
|
+
linecache (0.43)
|
57
|
+
mail (2.2.19)
|
58
|
+
activesupport (>= 2.3.6)
|
59
|
+
i18n (>= 0.4.0)
|
60
|
+
mime-types (~> 1.16)
|
61
|
+
treetop (~> 1.4.8)
|
62
|
+
mime-types (1.16)
|
63
|
+
nokogiri (1.4.4)
|
64
|
+
polyglot (0.3.1)
|
65
|
+
rack (1.2.2)
|
66
|
+
rack-mount (0.6.14)
|
67
|
+
rack (>= 1.0.0)
|
68
|
+
rack-test (0.5.7)
|
69
|
+
rack (>= 1.0)
|
70
|
+
rails (3.0.7)
|
71
|
+
actionmailer (= 3.0.7)
|
72
|
+
actionpack (= 3.0.7)
|
73
|
+
activerecord (= 3.0.7)
|
74
|
+
activeresource (= 3.0.7)
|
75
|
+
activesupport (= 3.0.7)
|
76
|
+
bundler (~> 1.0)
|
77
|
+
railties (= 3.0.7)
|
78
|
+
railties (3.0.7)
|
79
|
+
actionpack (= 3.0.7)
|
80
|
+
activesupport (= 3.0.7)
|
81
|
+
rake (>= 0.8.7)
|
82
|
+
thor (~> 0.14.4)
|
83
|
+
rake (0.8.7)
|
84
|
+
rspec (2.5.0)
|
85
|
+
rspec-core (~> 2.5.0)
|
86
|
+
rspec-expectations (~> 2.5.0)
|
87
|
+
rspec-mocks (~> 2.5.0)
|
88
|
+
rspec-core (2.5.2)
|
89
|
+
rspec-expectations (2.5.0)
|
90
|
+
diff-lcs (~> 1.1.2)
|
91
|
+
rspec-mocks (2.5.0)
|
92
|
+
rspec-rails (2.5.0)
|
93
|
+
actionpack (~> 3.0)
|
94
|
+
activesupport (~> 3.0)
|
95
|
+
railties (~> 3.0)
|
96
|
+
rspec (~> 2.5.0)
|
97
|
+
ruby-debug (0.10.4)
|
98
|
+
columnize (>= 0.1)
|
99
|
+
ruby-debug-base (~> 0.10.4.0)
|
100
|
+
ruby-debug-base (0.10.4)
|
101
|
+
linecache (>= 0.3)
|
102
|
+
sqlite3-ruby (1.2.5)
|
103
|
+
term-ansicolor (1.0.5)
|
104
|
+
thor (0.14.6)
|
105
|
+
treetop (1.4.9)
|
106
|
+
polyglot (>= 0.3.1)
|
107
|
+
tzinfo (0.3.27)
|
108
|
+
|
109
|
+
PLATFORMS
|
110
|
+
ruby
|
111
|
+
|
112
|
+
DEPENDENCIES
|
113
|
+
cucumber (= 0.10.2)
|
114
|
+
cucumber-rails (= 0.4.1)
|
115
|
+
rails (= 3.0.7)
|
116
|
+
rspec (= 2.5.0)
|
117
|
+
rspec-rails (= 2.5.0)
|
118
|
+
ruby-debug (>= 0.10.3)
|
119
|
+
spork!
|
120
|
+
sqlite3-ruby (= 1.2.5)
|