open source saturday - how can i contribute to ruby on rails?

Post on 09-Dec-2014

744 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Making your first contribution to an open source library can be very daunting. If you’re like me, I was/am nagged by self-doubt and a fear that I would/will “do it wrong.” I worry about the mocking of other developers, all solidified by years of open source contributions. If you are stuck in the self-doubt phase, but want to jump in, you may be asking “What’s the first step?” or “How do I contribute?” Well, We aim to answer those kinds of questions by walking you through steps.

TRANSCRIPT

” Open Source Saturday

Introduction

Open Source Saturday

How can I

contribute to

Ruby on Rails?

I Want You

To Contribute To Rails

Sure You Can!

I felt like that too!

Find something you want to fix, then...

open http://github.com/rails/rails

Search For Issues

Search For Pull Request

Set up a local copy

First, fork Rails

Forking rails/rails

Set up a local copy

Clone your repo

Add the new remote to your local

$ git remote add mine git://github.com/rails/rails.git

$ git remote

$ git fetch mineDownload new commits and branches from the official repository:

$ git checkout master

$ git rebase mine/masterUpdate your fork:

Get the tests running

- bundle update install dependencies

- bundle exec rake test run all test

Active Record Setup

- Database Configuration The Active Record test suite requires a custom config file - activerecord/test/config.yml

- MySQL and PostgreSQL To be able to run the suite for MySQL and PostgreSQL we need their gems $ sudo apt-get install mysql-server libmysqlclient15-dev $ sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev

Create User Name

- MySQL mysql -uroot -p mysql> CREATE USER 'rails'@'localhost';

mysql> GRANT ALL PRIVILEGES ON activerecord_unittest.* to 'rails'@'localhost';

mysql> GRANT ALL PRIVILEGES ON activerecord_unittest2.* to 'rails'@'localhost';

- PostgreSQL sudo -u postgres createuser --superuser $USER

Create database

- MySQL $ cd activerecord $ bundle exec rake mysql:build_databases

- PostgreSQL $ cd activerecord $ bundle exec rake postgresql:build_databases

- Both

$ cd activerecord $ bundle exec rake db:create

- Cleanup the databases $ cd activerecord

$ bundle exec rake db:drop

Running Tests

- Test ActiveRecord $ rake test

- Test Specific Adaptor $ rake test_postgresql $ rake -T

- Test Specific file

$ ruby -Itest test/cases/base_test.rb $ ARCONN=postgresql ruby -Itest test/cases/base_test.rb

- Run Specific test $ruby -Itest test/cases/base_test.rb -n test_if_something_works

Create a branch and go to work

- Pick a good branch name. Others will see it.

- Clear, concise code as always! Follow the Rails coding style.

- Write tests, and make sure all tests pass.

Push to github

- First, fetch from upstream and rebase your work.

- Push your branch to origin – your github repo.

do Pull Request

- Go to your new branch on github.

- Push the magic Pull Request button.

Pull Request primer

- Explain your code and why it should be merged into Rails.

- Your message starts a discussion thread.

- If you need to make changes, do them and push them. The pull request will be automatically updated.

- Help the Rails team. Be kind. In return, they'll help you.

Boom!

That was Easy

Now you're one of THEM

http://contributors.rubyonrails.org/

Question?

Thanks By: Pravin Mishra Twitter: pravinmishra88

top related