Introdução Ruby on Rails
Almir ‘m3nd3s’
[email protected]
quarta-feira, 15 de fevereiro de 2012
Slide 2
Slide 2 text
quarta-feira, 15 de fevereiro de 2012
Slide 3
Slide 3 text
quarta-feira, 15 de fevereiro de 2012
Slide 4
Slide 4 text
Minha missão
quarta-feira, 15 de fevereiro de 2012
Slide 5
Slide 5 text
quarta-feira, 15 de fevereiro de 2012
Slide 6
Slide 6 text
quarta-feira, 15 de fevereiro de 2012
Slide 7
Slide 7 text
1BSUF*
3VCZ-BOHVBHF
quarta-feira, 15 de fevereiro de 2012
Slide 8
Slide 8 text
O que é ruby?
quarta-feira, 15 de fevereiro de 2012
Slide 9
Slide 9 text
Ruby foi criado, em 1995, por
Yukihiro “matz” Matsumoto
quarta-feira, 15 de fevereiro de 2012
Slide 10
Slide 10 text
Porque eu deveria me importar?
quarta-feira, 15 de fevereiro de 2012
Slide 11
Slide 11 text
O que tem ruby de especial?
quarta-feira, 15 de fevereiro de 2012
Slide 12
Slide 12 text
Perl, Smalltalk, Eiffel,
Ada e Lisp
quarta-feira, 15 de fevereiro de 2012
Slide 13
Slide 13 text
ruby_language do |r|
r.features “Orientado a Objetos”
r.features “Interpretada”
r.features “Open-source”
r.features “Mixins”
r.features “Sistema central de gerenciamento
de pacotes (RubyGems)”
r.features “Tipagem dinâmica”
r.features “Sobrecarga de operadores”
r.features “Sintaxe flexível”
end
O que tem ruby de especial?
quarta-feira, 15 de fevereiro de 2012
Slide 14
Slide 14 text
Tudo é objeto
quarta-feira, 15 de fevereiro de 2012
Slide 15
Slide 15 text
TUTO?!
quarta-feira, 15 de fevereiro de 2012
Slide 16
Slide 16 text
Sem tipos primitivos
quarta-feira, 15 de fevereiro de 2012
Slide 17
Slide 17 text
Inteiros, números de ponto
flutuante
quarta-feira, 15 de fevereiro de 2012
Slide 18
Slide 18 text
Até mesmo nil é um
objeto
nil.class # Returns nilClass
nil.methods # Returns all methods
quarta-feira, 15 de fevereiro de 2012
Slide 19
Slide 19 text
link_to “Ver Posts”, posts_path, :class
=> “link”, :title => “Ver todos os
posts”
Símbolos
quarta-feira, 15 de fevereiro de 2012
Slide 20
Slide 20 text
Modulos
module PostsHelper
def link_to_login(post)
link_to “Artigo”, posts_path(post) if post
end
end
quarta-feira, 15 de fevereiro de 2012
Slide 21
Slide 21 text
Blocos
all_posts.each do |p|
puts p.title
end
(1..4).collect { |i| i*i } # [1,4,9,16]
[1,2,4,2].count { |x| x%2 == 0 } # 3
quarta-feira, 15 de fevereiro de 2012
Slide 22
Slide 22 text
Comunidade
quarta-feira, 15 de fevereiro de 2012
Slide 23
Slide 23 text
Rspec
Rails
bundler
RVM
sinatra
rubygems
quarta-feira, 15 de fevereiro de 2012
Slide 24
Slide 24 text
1BSUF**
3VCZPO3BJMT
quarta-feira, 15 de fevereiro de 2012
Slide 25
Slide 25 text
Ruby on Rails é um framework de
desenvolvimento web
quarta-feira, 15 de fevereiro de 2012
Slide 26
Slide 26 text
Rails foi criado, em 2004, por
David Heinemeier
Hansson (dhh)
quarta-feira, 15 de fevereiro de 2012
Slide 27
Slide 27 text
DRY - Don’t Repeat Yourself
quarta-feira, 15 de fevereiro de 2012
Slide 28
Slide 28 text
RESTful
quarta-feira, 15 de fevereiro de 2012
Slide 29
Slide 29 text
Arquitetura MVC
quarta-feira, 15 de fevereiro de 2012
Slide 30
Slide 30 text
quarta-feira, 15 de fevereiro de 2012
Slide 31
Slide 31 text
Convention over configuration
quarta-feira, 15 de fevereiro de 2012
Slide 32
Slide 32 text
Model
class Post < ActiveRecord::Base
end
quarta-feira, 15 de fevereiro de 2012
Slide 33
Slide 33 text
quarta-feira, 15 de fevereiro de 2012
Slide 34
Slide 34 text
Post.all
Post.find(1) # Get the post with ID 1
Post.find([10, 3, 5]) # Get post with IDs
10, 3 and 5
Post.last # Get the latest row
Post.last(3) # Get the last 3 rows
Post.first # Get the first row
Post.first(2) # Get the first 2 rows
Post.where(:published => true) # Get
published rows
quarta-feira, 15 de fevereiro de 2012
Slide 35
Slide 35 text
@post = Post.find 1
@post.create
@post.save
@post.update_attributes(attrs)
@post.destroy
@post.title = “Titulo”
quarta-feira, 15 de fevereiro de 2012
Slide 36
Slide 36 text
Controller
class PostsController < ApplicationController
...
end
MyApp::Application.routes.draw do
resources :posts
end
Rotas
quarta-feira, 15 de fevereiro de 2012
Slide 37
Slide 37 text
Rotas
quarta-feira, 15 de fevereiro de 2012
Slide 38
Slide 38 text
class PostsController < ApplicationController
def index
@posts = Post.order(“published DESC”)
respond_to do |format|
format.html
format.xml
end
end
end
Redefinindo método
quarta-feira, 15 de fevereiro de 2012
Slide 39
Slide 39 text
• Action Pack
• Action Controller
• Action Dispatch
• Action View
• Action Mailer
• Active Model
• Active Record
• Active Support
Gems do Rails
quarta-feira, 15 de fevereiro de 2012
Slide 40
Slide 40 text
1BSUF***
$PNPGB[
quarta-feira, 15 de fevereiro de 2012
Slide 41
Slide 41 text
Instalando o Rails
$ gem install rails
quarta-feira, 15 de fevereiro de 2012
Slide 42
Slide 42 text
$ rails new my_blog
Criando uma aplicação
quarta-feira, 15 de fevereiro de 2012
Slide 43
Slide 43 text
Estrutura de
diretórios
quarta-feira, 15 de fevereiro de 2012
Slide 44
Slide 44 text
E agora?
quarta-feira, 15 de fevereiro de 2012
Slide 45
Slide 45 text
http://www.ruby-lang.org/pt/documentacao/quickstart/
quarta-feira, 15 de fevereiro de 2012
Slide 46
Slide 46 text
guides.rubyonrails.org
quarta-feira, 15 de fevereiro de 2012
Slide 47
Slide 47 text
Rails Rumble
quarta-feira, 15 de fevereiro de 2012
Slide 48
Slide 48 text
Dúvidas?
quarta-feira, 15 de fevereiro de 2012
Slide 49
Slide 49 text
Obrigado
Almir ‘m3nd3s’
[email protected]
@m3nd3s
http://www.almirmendes.com
quarta-feira, 15 de fevereiro de 2012