Contribute to RSpec
There are several ways in which you can contribute to RSpec.
Mailing Lists
One easy way you can contribute is to join and participate in our mailing lists:
http://rubyforge.org/mail/?group_id=797
- rspec-users is for anyone who use RSpec to discuss any topics related to the use of the tools
- rspec-devel is for those interested in the ongoing development of RSpec and those who wish to make personal contributions
While we don’t wish to restrict the content on either list, we do ask that off topic posts are so marked ([OT] in the subject line).
Feature Requests and Bug Reports
Use the Lighthouse for all feature requests, bug reports and patches. Please be sure to assign appropriate tags (featurerequest, bug, patch, expectations, mocks, runner, rails, textmate, etc)
Wherever feasible, submit a complete spec we can run – something like:
describe "My Problem" do it "can be reproduced as follows" do # Why doesn't this work? # (This is just a silly example) true.should be_true end end
This will make us more likely to look at it quickly.
If you’re reporting a bug, make sure you include the following:- rspec version (either a versioned release or svn revision number)
- rails version (if you’re using the rspec_on_rails plugin)
- any other relevant versions, OSes, etc
- a failing spec AND code – we need to be able to reproduce the failure. While code snippets are better than nothing, what we really prefer is modifications to RSpec’s own specs, as a unified diff file.
Patches
Interested in a new feature that you’ve already written or want to write? We want your patches!
Here are some guidelines.
- patch against http://rspec.rubyforge.org/svn/trunk (not a released gem)
- include specs!
- include docs!
- run “rake pre_commit” on your patched source
- create a patch with “svn diff > something_rather_descriptive.diff”
- create a new ticket in the Lighthouse tracker
- attach the diff file to the ticket (DON’T FORGET TO ASSIGN THE “patch” tag)
WARNING: When you add new files, you have to ‘svn add’ them before running pre_commit.
