SlideShare a Scribd company logo
1 of 64
Ruby 1.9 & Rails 3
      new stuff!
Ruby 1.9
Ruby 1.9
Ruby 1.9.1   Stable
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Installation
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.gz
tar zxvf ruby-1.9.1-p243.tar.gz
cd ruby-1.9.1-p243
./configure --program-suffix=1.9
make
sudo make install
Changed stuff
case
String#[]
Hashes are sorted!
Block variables
New stuff!
        Jay!
flexible parameters
flexible parameters (2)
new hash notation
Symbol#to_proc
Enumerator
lambda - shorthand
lambda - calling
Object#tap
Rails 3
Merb
Ruby 1.8.7 or 1.9.1
ORM Agnostic
ActionORM

• initialize
• new_record?
• errors
• valid?
• to_model
Rack Middleware
controller actions
Session
Param parsing
Rescuing
Router
Multiple apps
Controller


                     Merb
                    Router


                     Rails
Request   Router
                    Router


                   Sinatra app



                    Rack app
Plugin API
Notifications
  (used to be “Orchestra”)
Hook into events
non-blocking
Javascript
non-obtrusive
Library agnostic
rails.prototype.js
rails.jquery.js
rails.moo.js
rails.you?.js
ActionController::Responder
code
Custom Responders
Public API Changes
Rails 2.3 == Rails 3.0
Questions?

More Related Content

What's hot

Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web Applications
Joe Kutner
 

What's hot (20)

Scapy the packet 途中01
Scapy the packet 途中01Scapy the packet 途中01
Scapy the packet 途中01
 
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStackSaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
 
Salt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsSalt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environments
 
Get Going With RVM and Rails 3
Get Going With RVM and Rails 3Get Going With RVM and Rails 3
Get Going With RVM and Rails 3
 
A user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management toolsA user's perspective on SaltStack and other configuration management tools
A user's perspective on SaltStack and other configuration management tools
 
Painless Deployment with Capistrano
Painless Deployment with CapistranoPainless Deployment with Capistrano
Painless Deployment with Capistrano
 
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
 
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCarParis Monitoring meetup #1 - Zabbix at BlaBlaCar
Paris Monitoring meetup #1 - Zabbix at BlaBlaCar
 
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
 
Getting modern with my sql
Getting modern with my sqlGetting modern with my sql
Getting modern with my sql
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
 
High availability for puppet - 2016
High availability for puppet - 2016High availability for puppet - 2016
High availability for puppet - 2016
 
Ansible intro
Ansible introAnsible intro
Ansible intro
 
Celery vs MRQ
Celery vs MRQCelery vs MRQ
Celery vs MRQ
 
Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web Applications
 
Scapy talk
Scapy talkScapy talk
Scapy talk
 
SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven or...
SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven or...SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven or...
SaltConf14 - Anita Kuno, HP & OpenStack - Using SaltStack for event-driven or...
 
Big Data Day LA 2016/ Big Data Track - Fluentd and Embulk: Collect More Data,...
Big Data Day LA 2016/ Big Data Track - Fluentd and Embulk: Collect More Data,...Big Data Day LA 2016/ Big Data Track - Fluentd and Embulk: Collect More Data,...
Big Data Day LA 2016/ Big Data Track - Fluentd and Embulk: Collect More Data,...
 
[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole
[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole
[네이버오픈소스세미나] What’s new in Zipkin - Adrian Cole
 
Medindo performance do seu código Ruby, com Rafael França
Medindo performance do seu código Ruby, com Rafael FrançaMedindo performance do seu código Ruby, com Rafael França
Medindo performance do seu código Ruby, com Rafael França
 

Viewers also liked

Difference between moving forward direction of motion
Difference between moving forward direction of motionDifference between moving forward direction of motion
Difference between moving forward direction of motion
s1150047
 
Control Pacients Hipertensos
Control Pacients HipertensosControl Pacients Hipertensos
Control Pacients Hipertensos
josepcuadrado
 
Constitution herd
Constitution  herdConstitution  herd
Constitution herd
acolyte26
 
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
University of Deusto
 
Gany bajany-ki-hurmat
Gany bajany-ki-hurmatGany bajany-ki-hurmat
Gany bajany-ki-hurmat
Shakeel Ishaq
 
Bbq Invitation (2)
Bbq Invitation (2)Bbq Invitation (2)
Bbq Invitation (2)
jazore
 
Grup De Treball Ensenyar Llengua No RomàNica
Grup De Treball Ensenyar Llengua No RomàNicaGrup De Treball Ensenyar Llengua No RomàNica
Grup De Treball Ensenyar Llengua No RomàNica
Arnau Cerdà
 

Viewers also liked (20)

itgrammar.pptx
itgrammar.pptxitgrammar.pptx
itgrammar.pptx
 
Lauris
LaurisLauris
Lauris
 
Jump
JumpJump
Jump
 
Difference between moving forward direction of motion
Difference between moving forward direction of motionDifference between moving forward direction of motion
Difference between moving forward direction of motion
 
CinestudiO Cine Prêmio 2010 - Parte 2/4
CinestudiO Cine Prêmio 2010 - Parte 2/4CinestudiO Cine Prêmio 2010 - Parte 2/4
CinestudiO Cine Prêmio 2010 - Parte 2/4
 
Faglig dokumentasjon - Karrierebarometeret
Faglig dokumentasjon - KarrierebarometeretFaglig dokumentasjon - Karrierebarometeret
Faglig dokumentasjon - Karrierebarometeret
 
Control Pacients Hipertensos
Control Pacients HipertensosControl Pacients Hipertensos
Control Pacients Hipertensos
 
Constitution herd
Constitution  herdConstitution  herd
Constitution herd
 
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
JesuitenGunea The Society of Jesus´ Tourism Development Project in the Provin...
 
Jaroslav Seifert - Look at book
Jaroslav Seifert - Look at bookJaroslav Seifert - Look at book
Jaroslav Seifert - Look at book
 
How to Optimize Your Blog for Faster Loading in Three Easy Steps
How to Optimize Your Blog for Faster Loading in Three Easy StepsHow to Optimize Your Blog for Faster Loading in Three Easy Steps
How to Optimize Your Blog for Faster Loading in Three Easy Steps
 
Am j physiol heart circ physiol 2000-matsubara-h1534-9
Am j physiol heart circ physiol 2000-matsubara-h1534-9Am j physiol heart circ physiol 2000-matsubara-h1534-9
Am j physiol heart circ physiol 2000-matsubara-h1534-9
 
Be-namazi
Be-namaziBe-namazi
Be-namazi
 
The Art of Game Design
The Art of Game DesignThe Art of Game Design
The Art of Game Design
 
Trends in human mobility
Trends in human mobility Trends in human mobility
Trends in human mobility
 
The Boomer Retirement Time Bomb
The Boomer Retirement Time BombThe Boomer Retirement Time Bomb
The Boomer Retirement Time Bomb
 
Gany bajany-ki-hurmat
Gany bajany-ki-hurmatGany bajany-ki-hurmat
Gany bajany-ki-hurmat
 
Bbq Invitation (2)
Bbq Invitation (2)Bbq Invitation (2)
Bbq Invitation (2)
 
Improving understanding
Improving understandingImproving understanding
Improving understanding
 
Grup De Treball Ensenyar Llengua No RomàNica
Grup De Treball Ensenyar Llengua No RomàNicaGrup De Treball Ensenyar Llengua No RomàNica
Grup De Treball Ensenyar Llengua No RomàNica
 

Similar to Ruby 1.9 And Rails 3.0

Jenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuJenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh Vu
Framgia Vietnam
 
Ricardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devopsRicardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devops
SVDevOps
 
Ruby projects of interest for DevOps
Ruby projects of interest for DevOpsRuby projects of interest for DevOps
Ruby projects of interest for DevOps
Ricardo Sanchez
 
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeperHandling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
ryanlecompte
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-java
Keith Bennett
 

Similar to Ruby 1.9 And Rails 3.0 (20)

Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
Jenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh VuJenkins and rails app - Le Dinh Vu
Jenkins and rails app - Le Dinh Vu
 
Ruby on the server
Ruby on the serverRuby on the server
Ruby on the server
 
Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Speedy TDD with Rails
Speedy TDD with RailsSpeedy TDD with Rails
Speedy TDD with Rails
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
 
A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)A Tale of a Server Architecture (Frozen Rails 2012)
A Tale of a Server Architecture (Frozen Rails 2012)
 
Ricardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devopsRicardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devops
 
Ruby projects of interest for DevOps
Ruby projects of interest for DevOpsRuby projects of interest for DevOps
Ruby projects of interest for DevOps
 
An introduction to the ruby ecosystem
An introduction to the ruby ecosystemAn introduction to the ruby ecosystem
An introduction to the ruby ecosystem
 
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011
 
09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails
 
RichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile DevicesRichFaces - Testing on Mobile Devices
RichFaces - Testing on Mobile Devices
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Rack
 
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeperHandling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
 
Fabric: A Capistrano Alternative
Fabric:  A Capistrano AlternativeFabric:  A Capistrano Alternative
Fabric: A Capistrano Alternative
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
Practical JRuby
Practical JRubyPractical JRuby
Practical JRuby
 
Jruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-javaJruby synergy-of-ruby-and-java
Jruby synergy-of-ruby-and-java
 

More from ArrrrCamp (15)

Arrrrcamp Radiant Intro
Arrrrcamp Radiant IntroArrrrcamp Radiant Intro
Arrrrcamp Radiant Intro
 
Metaprogramming + Ds Ls
Metaprogramming + Ds LsMetaprogramming + Ds Ls
Metaprogramming + Ds Ls
 
Rubyandrails
RubyandrailsRubyandrails
Rubyandrails
 
Nanoc
NanocNanoc
Nanoc
 
Git
GitGit
Git
 
Radiant
RadiantRadiant
Radiant
 
Mistakes
MistakesMistakes
Mistakes
 
Railsservers
RailsserversRailsservers
Railsservers
 
Prawn
PrawnPrawn
Prawn
 
Testing
TestingTesting
Testing
 
Validation
ValidationValidation
Validation
 
Cucumber
CucumberCucumber
Cucumber
 
Ruby and Rails Basics
Ruby and Rails BasicsRuby and Rails Basics
Ruby and Rails Basics
 
Caching your rails application
Caching your rails applicationCaching your rails application
Caching your rails application
 
Advanced Radiant
Advanced RadiantAdvanced Radiant
Advanced Radiant
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Ruby 1.9 And Rails 3.0

Editor's Notes

  1. Rails 3 is een merge van alle good-practices van Merb en RailsMerb is een framework geschreven omdat ze vonden dat Rails bepaalde dingen fout deden.
  2. Rails 3.0 is niet 1.8.6 compatibel
  3. ActiveRecord & Datamapper doen dit al, Sequel gebruikt hier een adapter voor
  4. Rack, Framework to interact between WebServers and Web frameworks. Takes in request, handles it, passes it to Framework.