open source saturday - how can i contribute to ruby on rails?
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