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
Basic Architectures
denyspoltorak
0
680
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
590
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
Raku Raku Notion 20260128
hareyakayuruyaka
0
320
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
2026年 エンジニアリング自己学習法
yumechi
0
140
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
Oxlintはいいぞ
yug1224
5
1.3k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
A Soul's Torment
seathinner
5
2.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Building the Perfect Custom Keyboard
takai
2
690
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Believing is Seeing
oripsolob
1
56
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