Submit Search
Upload
Ramaze - The Underrated Ruby Web Framework
•
Download as ODP, PDF
•
2 likes
•
1,617 views
luccastera
Follow
Slides from my talk at RubyConf 08 on Ramaze
Read less
Read more
Technology
Design
Report
Share
Report
Share
1 of 67
Download now
Recommended
Be Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - Ecosystem
Lucas Renan
Lightweight Webservices with Sinatra and RestClient
Lightweight Webservices with Sinatra and RestClient
Adam Wiggins
Using Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in Ruby
LaunchAny
Ansible -new kid in configuration management world
Ansible -new kid in configuration management world
Maciej Sawicki
Avatar.js
Avatar.js
Alin Pandichi
Ruby on Rails - An overview
Ruby on Rails - An overview
Thomas Asikis
RoR 101: Session 2
RoR 101: Session 2
Rory Gianni
RoR 101: Session 5
RoR 101: Session 5
Rory Gianni
Recommended
Be Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - Ecosystem
Lucas Renan
Lightweight Webservices with Sinatra and RestClient
Lightweight Webservices with Sinatra and RestClient
Adam Wiggins
Using Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in Ruby
LaunchAny
Ansible -new kid in configuration management world
Ansible -new kid in configuration management world
Maciej Sawicki
Avatar.js
Avatar.js
Alin Pandichi
Ruby on Rails - An overview
Ruby on Rails - An overview
Thomas Asikis
RoR 101: Session 2
RoR 101: Session 2
Rory Gianni
RoR 101: Session 5
RoR 101: Session 5
Rory Gianni
RoR 101: Session 3
RoR 101: Session 3
Rory Gianni
RoR 101: Session 6
RoR 101: Session 6
Rory Gianni
Capybara with Rspec
Capybara with Rspec
Omnia Helmi
NodeWay in my project & sails.js
NodeWay in my project & sails.js
Dmytro Ovcharenko
Namespace less engine
Namespace less engine
shaokun
Workshop 21: React Router
Workshop 21: React Router
Visual Engineering
Intro to Rack
Intro to Rack
Rubyc Slides
Ruby Isn't Just About Rails
Ruby Isn't Just About Rails
Adam Wiggins
RoR 101: Session 6
RoR 101: Session 6
Rory Gianni
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General Overview
Visual Engineering
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014
Andrey Listochkin
Angular for rubyists
Angular for rubyists
Tom Cartwright
Seafox
Seafox
Nick Ager
Your first sinatra app
Your first sinatra app
Rubyc Slides
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)
Fwdays
Introduce cucumber
Introduce cucumber
Bachue Zhou
Scala scripting-slides
Scala scripting-slides
Daniel Sebban
The Evolution of Airbnb's Frontend
The Evolution of Airbnb's Frontend
Spike Brehm
CoffeeScript Design Patterns
CoffeeScript Design Patterns
TrevorBurnham
Ruby on Rails Presentation
Ruby on Rails Presentation
Michael MacDonald
Text Manipulation with/without Parsec
Text Manipulation with/without Parsec
ujihisa
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
ujihisa
More Related Content
What's hot
RoR 101: Session 3
RoR 101: Session 3
Rory Gianni
RoR 101: Session 6
RoR 101: Session 6
Rory Gianni
Capybara with Rspec
Capybara with Rspec
Omnia Helmi
NodeWay in my project & sails.js
NodeWay in my project & sails.js
Dmytro Ovcharenko
Namespace less engine
Namespace less engine
shaokun
Workshop 21: React Router
Workshop 21: React Router
Visual Engineering
Intro to Rack
Intro to Rack
Rubyc Slides
Ruby Isn't Just About Rails
Ruby Isn't Just About Rails
Adam Wiggins
RoR 101: Session 6
RoR 101: Session 6
Rory Gianni
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General Overview
Visual Engineering
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014
Andrey Listochkin
Angular for rubyists
Angular for rubyists
Tom Cartwright
Seafox
Seafox
Nick Ager
Your first sinatra app
Your first sinatra app
Rubyc Slides
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)
Fwdays
Introduce cucumber
Introduce cucumber
Bachue Zhou
Scala scripting-slides
Scala scripting-slides
Daniel Sebban
The Evolution of Airbnb's Frontend
The Evolution of Airbnb's Frontend
Spike Brehm
CoffeeScript Design Patterns
CoffeeScript Design Patterns
TrevorBurnham
Ruby on Rails Presentation
Ruby on Rails Presentation
Michael MacDonald
What's hot
(20)
RoR 101: Session 3
RoR 101: Session 3
RoR 101: Session 6
RoR 101: Session 6
Capybara with Rspec
Capybara with Rspec
NodeWay in my project & sails.js
NodeWay in my project & sails.js
Namespace less engine
Namespace less engine
Workshop 21: React Router
Workshop 21: React Router
Intro to Rack
Intro to Rack
Ruby Isn't Just About Rails
Ruby Isn't Just About Rails
RoR 101: Session 6
RoR 101: Session 6
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General Overview
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014
Angular for rubyists
Angular for rubyists
Seafox
Seafox
Your first sinatra app
Your first sinatra app
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)
Introduce cucumber
Introduce cucumber
Scala scripting-slides
Scala scripting-slides
The Evolution of Airbnb's Frontend
The Evolution of Airbnb's Frontend
CoffeeScript Design Patterns
CoffeeScript Design Patterns
Ruby on Rails Presentation
Ruby on Rails Presentation
Viewers also liked
Text Manipulation with/without Parsec
Text Manipulation with/without Parsec
ujihisa
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
ujihisa
Agile Web Posting with Ruby (lang:ja)
Agile Web Posting with Ruby (lang:ja)
ujihisa
CoffeeScript in hootsuite
CoffeeScript in hootsuite
ujihisa
RubyConf 2009 LT "Termtter"
RubyConf 2009 LT "Termtter"
ujihisa
Kof2008 Itll
Kof2008 Itll
ujihisa
Concurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple Spaces
luccastera
Viewers also liked
(7)
Text Manipulation with/without Parsec
Text Manipulation with/without Parsec
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
Agile Web Posting with Ruby (lang:ja)
Agile Web Posting with Ruby (lang:ja)
CoffeeScript in hootsuite
CoffeeScript in hootsuite
RubyConf 2009 LT "Termtter"
RubyConf 2009 LT "Termtter"
Kof2008 Itll
Kof2008 Itll
Concurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple Spaces
Similar to Ramaze - The Underrated Ruby Web Framework
Adventurous Merb
Adventurous Merb
Matt Todd
Sinatra and JSONQuery Web Service
Sinatra and JSONQuery Web Service
vvatikiotis
SiteMesh
SiteMesh
guest9fefea
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability Systems
Marcelo Pinheiro
Robotlegs on Top of Gaia
Robotlegs on Top of Gaia
Jesse Warden
GHC
GHC
AidIQ
Practical catalyst
Practical catalyst
dwm042
Performance Optimization of Rails Applications
Performance Optimization of Rails Applications
Serge Smetana
Z-Ray: A customizable development tool belt (Zendcon 2016)
Z-Ray: A customizable development tool belt (Zendcon 2016)
Mathew Beane
Damage Control
Damage Control
sintaxi
Introduction To Ruby On Rails
Introduction To Ruby On Rails
Steve Keener
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with Ruby
Robert Dempsey
Intro To Mvc Development In Php
Intro To Mvc Development In Php
funkatron
A Life of breakpoint
A Life of breakpoint
Hajime Morrita
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
cloudbring
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
GreeceJS
Writing native Linux desktop apps with JavaScript
Writing native Linux desktop apps with JavaScript
Igalia
Sinatra for REST services
Sinatra for REST services
Emanuele DelBono
DiUS Computing Lca Rails Final
DiUS Computing Lca Rails Final
Robert Postill
Sinatra
Sinatra
kevinreiss
Similar to Ramaze - The Underrated Ruby Web Framework
(20)
Adventurous Merb
Adventurous Merb
Sinatra and JSONQuery Web Service
Sinatra and JSONQuery Web Service
SiteMesh
SiteMesh
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability Systems
Robotlegs on Top of Gaia
Robotlegs on Top of Gaia
GHC
GHC
Practical catalyst
Practical catalyst
Performance Optimization of Rails Applications
Performance Optimization of Rails Applications
Z-Ray: A customizable development tool belt (Zendcon 2016)
Z-Ray: A customizable development tool belt (Zendcon 2016)
Damage Control
Damage Control
Introduction To Ruby On Rails
Introduction To Ruby On Rails
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with Ruby
Intro To Mvc Development In Php
Intro To Mvc Development In Php
A Life of breakpoint
A Life of breakpoint
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Writing native Linux desktop apps with JavaScript
Writing native Linux desktop apps with JavaScript
Sinatra for REST services
Sinatra for REST services
DiUS Computing Lca Rails Final
DiUS Computing Lca Rails Final
Sinatra
Sinatra
Recently uploaded
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
The Digital Insurer
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
Recently uploaded
(20)
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
Ramaze - The Underrated Ruby Web Framework
1.
The Underrated Web
Framework
2.
underrated: Not given
enough recognition for its quality
3.
Motivation
4.
5.
Getting Started
6.
Simple Light Modular
7.
sudo gem install
ramaze
8.
http://github.com/manveru/ramaze
9.
10.
11.
Features
12.
M V C
13.
KISS
14.
15.
Modular
16.
Only one dependency
17.
ORM-agnostic
18.
19.
20.
Well Documented
21.
Beautiful Code
22.
BDD
23.
Ruby 1.9
24.
25.
IRC Population
26.
Basics
27.
Controllers
28.
MainController maps to
'/'
29.
BlueController maps to
'/blue'
30.
...unless you use
map
31.
_ .
32.
Action methods accept
arguments via URL
33.
http://localhost:7000/archive? page=2 request[:page]
== '2'
34.
Errors redirect to
error action
35.
Routing (String Routers)
Ramaze::Route [ '/foo' ] = '/bar' # '/foo' => '/bar'
36.
Routing (Regex Routers)
Ramaze::Route [ %r!^/(+)txt$! ] = "/text/%d" # '/123.txt' => '/text/123'
37.
Routing Ramaze::Route [
'name of route' ] = lambda { |path, request| '/bar' if path == '/foo' and request[ :bar ] == '1' } (Lambda Routers) # '/foo' => '/foo' # '/foo?bar=1' => '/bar'
38.
Testing
39.
Views
40.
Ezamar Erubis (bundled)
(default) (my favorite) (plenty of other choices)
41.
inline vs. external
42.
START NO YES
Run return value of action through templating engine Send to browser External Template Is there an external template?
43.
Instance variables set
in the action can be accessed in template (just like in Rails)
44.
(convention) /view
45.
(configuration) view_root
'my_templates'
46.
Layouts
47.
# apply to
all actions except index layout :layout deny_layout :index # apply only to index layout :layout => [ :index ] Layouts
48.
Ezamar Very simple
reimplementation of the Templating-engine found in Nitro. <?r rubycode ?> == <% rubycode %> #{ rubycode } == <%= rubycode %>
49.
Ezamar::Element
50.
Ezamar::Element
51.
Models
52.
That's up to
you to figure out...
53.
ActiveRecord DataMapper Sequel
Og DBI
54.
Ramaze::Store
55.
Helpers
56.
57.
Link Helper R(AdminController,
:index) => /admin/index Rs(:index) => /admin/index Rs(:/) => / A('text') => <a href=”/text”>text</a> A('foo/bar') => <a href=”/foo/bar”>foo/bar</a> A('Home', :href => Rs(:/)) => <a href=”/”>Home</a>
58.
Aspect Helper Allows
you to wrap different Actions on your Controller with code.
59.
Extras
60.
61.
62.
Deployment thin start
--servers 1 --socket /tmp/thin-socket -R start.ru
63.
64.
Live Coding Small
Blog Example: http://pastie.org/319647
65.
66.
RTFC
67.
Thank you. Questions?
Editor's Notes
Good afternooon everyone. My name is Luc Castera and I'm going to talk to you about Ramaze today.
Download now