Slide 1

Slide 1 text

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