thoughtbot--shoulda-matchers/CONTRIBUTING.md

70 lines
1.9 KiB
Markdown
Raw Normal View History

We love contributions from the community! Here's a quick guide to making a pull
request.
2012-03-19 00:39:15 +00:00
## Overview
0. If you haven't contributed before, please read and understand the [Code of
Conduct].
2012-03-19 00:39:15 +00:00
1. Fork the repo.
2. Install [dependencies](#installing-dependencies).
3. Run the tests. We only take pull requests with passing tests, and it's great
to know that you have a clean slate: `bundle && bundle exec rake`
2012-03-19 00:39:15 +00:00
4. If you're adding functionality or fixing a bug, add a failing test for the
issue first.
2012-03-19 00:39:15 +00:00
5. Make the test pass.
2012-03-19 00:39:15 +00:00
6. Finally, push to your fork and submit a pull request.
2012-03-19 00:39:15 +00:00
At this point you're waiting on us. We try to respond to issues and pull
requests within a few business days. We may suggest some changes to make to your
code to fit with our [code style] or the project style, or discuss alternate
ways of addressing the issue in question. When we're happy with everything,
we'll bring your changes into master. Now you're a contributor!
2012-03-19 00:39:15 +00:00
## Installing Dependencies
### On Debian/Ubuntu-based systems
```
sudo apt-get install -y ruby-dev libpq-dev libsqlite3-dev nodejs
```
Ubuntu, as of 14.04, ships with Ruby 1.9.2. shoulda-matchers is only compatible
with Ruby 2, so use your Ruby version manager of choice to install the latest
version of Ruby (2.2.1 at the time of this writing).
```
# RVM
rvm install 2.2
rvm use 2.2
# rbenv
rbenv install 2.2.1
rbenv shell 2.2.1
```
### On RedHat-based systems
```
sudo yum install -y ruby-devel postgresql-devel sqlite-devel zlib-devel
```
Also, install one of the JavaScript runtimes supported by [execjs]. For
instance, to install node.js:
```
sudo su
curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs
```
[Code of Conduct]: https://thoughtbot.com/open-source-code-of-conduct
[code style]: https://github.com/thoughtbot/guides/tree/master/style
[execjs]: https://github.com/sstephenson/execjs
[install rvm]: https://rvm.io/rvm/install