ruby/rails tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/rubyfools tools oslo.pdf · source...

30
Ruby/Rails Tools Ruby Fools 2008 - Oslo

Upload: others

Post on 07-Sep-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Ruby/Rails Tools

Ruby Fools 2008 - Oslo

Page 3: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

My BookBeginning Rails

From Novice to Professional

Page 4: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Tools that matter

• Why do tools matter

• What tools should I use?

• Productivity Boost

Page 5: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Contents• SCM

• Editors/IDE

• Testing

• Rake

• Deployment

• Terminal/irb/console

• Generators

Page 6: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Source Code Management

• Source Code Control

• Access to all versions

• Easily rollback bad design decisions

• Centralized

• Subversion, CVS

• Distributed

• Git, Mercurial

Page 7: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Subversion

• Source Code Control

➡ http://subversion.trigis.org

• Subversion Hooks

• Continuous Integration

• Diff emails in your Inbox

• Anything you want

Page 8: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Diffs in your Inbox

• What is it?

• What do I get?

Page 9: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Continuous Integration

• What is it?

• When does it run?

• How does it help?

Page 10: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

CI Tools

• Rails plugin

➡ ./script/plugin install continuous_builder

• Cerberus

➡ http://cerberus.rubyforge.org

• Cruise Control

➡ http://cruisecontrolrb.thoughtworks.com

Page 11: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Text Editor / IDE

• Know one editor very well

• Syntax coloring

• Auto completion

• Project/File Browser

Page 12: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Ruby/Rails IDEs

• RadRails

➡ http://www.aptana.com/rails/

• NetBeans

➡ http://www.netbeans.org/features/ruby/

• Others ..

Page 13: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

TextMate

➡ http://macromates.com

• Bundles

• Ruby

• Rails

• Quick navigation

Page 14: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

TextMateRuby Bundle

• Smart Auto-complete

• Run Ruby code from the editor

• Code Snippets

Page 15: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

TextMateRails Bundle

• Smart Auto-complete

• Move from View to Controller to Test

• Rails practices

Page 16: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Rake

• What is it?

• How it helps?

Page 17: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Rake for Rails

• test:units/functionals/integration/uncommited

• db:fixtures/migrate/schema/sessions

• rails:freeze/unfreeze/update

• doc:app/plugins/rails

• stats

• log:clear

Page 18: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Test

• Code coverage

• Rcov

• Autotest(ZenTest)

• Growl notifier

• RedGreen

Page 19: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Rcov

• What is it?

• How does it look?

➡ gem install rcov

Page 20: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

ZenTest/Autotest

• How does it help me?

➡ gem install ZenTest

• Add ons

• Growl notifier

• RedGreen

Page 21: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Deployment

• The need

• Capistrano

• Vlad The Deployer

Page 22: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Capistrano

• How to install?

➡ gem install capistrano

• Recipes all over the net

Page 23: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Vlad The Deployer

• How to install?

➡ gem install vlad

• Rake based

• rake vlad:deploy

Page 24: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

deploy.rbset :domain, "server.com"set :deploy_to, "/usr/local/rails/fu"set :repository, "svn://server.com/apps/fu"

namespace :vlad do task :deploy => ['vlad:update', 'vlad:symlink', 'vlad:migrate', 'vlad:restart_mongrel'] desc 'Restarts mongrel cluster' remote_task :restart_mongrel, :roles => :app do run "cd #{current_path} && sudo mongrel_rails cluster::stop && mongrel_rails cluster::start" endend

Page 25: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Terminal/irb/console

• Interactive shell

• Interact with Ruby/Rails code on the spot

• irb comes with Ruby

• script/console comes with Rails

Page 26: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Generators

• Rails makes great use of generators

➡ gem install rubigen

Page 27: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Finding tools

• How much time to invest?

• When to stop searching?

• Didn’t find what you need?WRITE AND SHARE IT

Page 28: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Summary

• Tools are powerful

• Tools are your friend

• Have fun

Page 29: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Resources

• http://rubyinside.com

• http://agilewebdevelopment.com

• http://errtheblog.com/

• http://drnicwilliams.com/

• http://rubyunderground.org/

Page 30: Ruby/Rails Tools - jaoo.dkjaoo.dk/dl/jaoo-ruby-oslo-2008/slides/RubyFools Tools Oslo.pdf · Source Code Management • Source Code Control • Access to all versions • Easily rollback

Thank you