Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Novidades do Ruby on Rails 5
Search
Daniel Cavalcante
August 28, 2016
Programming
0
60
Novidades do Ruby on Rails 5
Palestra ministrada na segunda edição da Expotec em João Pessoa.
Daniel Cavalcante
August 28, 2016
Tweet
Share
More Decks by Daniel Cavalcante
See All by Daniel Cavalcante
Arquiteturas modulares com Node.JS
danielcdesouza
1
58
React Native e GraphQL na construção de mobile apps
danielcdesouza
0
45
Nest Framework
danielcdesouza
0
110
"Go" da Alemanha! Sete passos para começar a desenvolver em Go
danielcdesouza
0
79
Minerando jóias: como extrair o melhor do Ruby
danielcdesouza
0
55
Nos trilhos do Ruby
danielcdesouza
0
57
Conhecendo o AngularJS
danielcdesouza
1
87
Começando com Ruby on Rails
danielcdesouza
0
96
Apresentação sobre Framework VRaptor
danielcdesouza
0
130
Other Decks in Programming
See All in Programming
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
150
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
980
AI巻き込み型コードレビューのススメ
nealle
2
420
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
CSC307 Lecture 01
javiergs
PRO
0
690
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
130
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
910
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
100
Navigating Team Friction
lara
192
16k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
Accessibility Awareness
sabderemane
0
53
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
Fireside Chat
paigeccino
41
3.8k
Building an army of robots
kneath
306
46k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Transcript
Novidades do Ruby on Rails 5
Daniel Cavalcante
Rails?
Framework Web Criado em 2003
None
Ruby Linguagem de programação
MVC Arquitetura
Don’t Repeat Yourself Não se repita (DRY)
REST Organizar sua aplicação com recursos e verbos HTTP
Convention over configuration Framework baseado em convenções
5.0.0 30 de junho de 2016 9999 Commits 948 Contribuidores
Sobre o Rails 5
Requer Ruby 2.2.2 Requisitos mínimos
Comando rails agora executa rake tasks Command-line
Rails 4 rake routes rake test rake db:migrate Rails 5
rails routes rails test rails db:migrate
Nova página de boas vindas ACTIVE MODEL
O que mudou no ACTIVE MODEL
Agora temos detalhes de uma falha de validação organizadas em
um objeto, e não em uma mensagem de erro. VALIDAÇÃO DE ERROS
class Book include ActiveModel::Validations validates_presence_of :title attr_accessor :title end book
= Book.new book.valid? book.errors.details #=> { :title=>[{:error=>:blank}]} ACTIVE MODEL
O que mudou no ACTIVE RECORD
Nova BaseClass foi adicionada, os models irão herdar da classe
ApplicationRecord ACTIVE RECORD
# app/models/application_record.rb class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end
# app/models/book.rb class Book end ACTIVE RECORD
Migrações versionadas permitindo evoluir a API de migrações sem quebrar
a compatibilidade com versões anteriores ACTIVE RECORD
RAILS 4.2 class CreateBooks < ActiveRecord::Migration[4.2] def change create_table :books
do |t| t.text :title, null: false t.timestamps null: false end end end RAILS 5.0 class CreateBooks < ActiveRecord::Migration[5.0] def change create_table :books do |t| t.text :title, null: false t.timestamps end end end ACTIVE RECORD
Migrations[5.0] associações são indexadas por padrão timestamps são obrigatórios por
padrão ACTIVE RECORD
Agora podemos usar OR ACTIVE RECORD
relation.OR(another_relation) ACTIVE RECORD
O que mudou no ACTION PACK ACTION PACK
Testes de Controllers não são recomendados. Deve ser utilizado Testes
de integração ACTION PACK
5.0 deprecated 5.1 gem separada ACTION PACK
Actions sem template retornam status 204 ACTION PACK
Rails 4 ActionView:MissingTemplate (Missing template books/create) Rails 5 No template
found for BooksController#create, rendering head :no_content Completed 204 No Content in 30ms ACTION PACK
O que mais mudou no RAILS 5
RAILS API
Aplicação otimizada para a criação de APIs RAILS API
$ rails new project --api Rails API
Middleware Stack reduzido Base Controller ActionController::API Generators Não geram views,
helpers e assets RAILS API
Output de erros própria para API RAILS API
{ “status” : 404, “error” : “Not Found”, “exception” :
“#<ActionController::RountingError: No route matches [GET] \”/posts.json\”> ”, “traces” : { “Application Trace” : [], “Framework Trace” : [] } } Rails API
O uso da CLI ficou mais intuitivo. Todos os comandos
estão centralizados no comando ‘rails’ Executar testes
rails test rails test <file> rails test <file>:<line number>
O que mudou no TURBOLINKS
SINGLE-PAGE APPLICATIONS É a resposta do Ruby para single- page
applications TURBOLINKS
O que é ACTION CABLE
Comunicação Full-Duplex com Websockets ACTION CABLE
Obrigado @danielcdesouza