rails e suas gems

31
Rails e suas Gems @rr_martins Rodrigo Martins [email protected]

Upload: rodrigo-martins

Post on 16-May-2015

860 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Rails e suas Gems

Rails e suas Gems

@rr_martinsRodrigo [email protected]

Page 2: Rails e suas Gems

Gems?

É bom assim por dentro?É bom assim por dentro?

Page 3: Rails e suas Gems

Gems?

http://docs.rubygems.org/

Gerenciador de pacotes do Ruby.

Uiiii... Uma Joia... :DUiiii... Uma Joia... :D

Page 4: Rails e suas Gems

Um pouco de Ruby! (String)

>> string = " liberdade Interativa! eu Fui!" => " liberdade Interativa! eu Fui!" >> def chamada(evento="LI") >> puts evento.to_s+" Eu fui!" >> end >> chamada("Liberdade Interativa") => Liberdade Interativa Eu fui! >> chamada => LI Eu fui!

Page 5: Rails e suas Gems

Um pouco de Ruby! (Array)

>> evento = Array.new >> evento << "LI" => ["LI"] >> evento << "Liberdade Interativa" => ["LI", "Liberdade Interativa"] >> evento << "RockOnRails" => ["LI", "Liberdade Interativa", "RockOnRails"]

Page 6: Rails e suas Gems

Um pouco de Ruby! (Array)

>> def chamada(evento) >> evento.each do |even| >> puts even.to_s+" Eu Fui! :D" >> end >> end >> chamada(evento) => LI Eu Fui! :D => Liberdade Interativa Eu Fui! :D => RockOnRails Eu Fui! :D

Page 7: Rails e suas Gems

Já posso usar as Gems?

Calma! Vamos com calma,

as Gems precisam do Rails!

Page 8: Rails e suas Gems

Projeto Blog!

Page 9: Rails e suas Gems

Gems Apresentadas!

→ Paperclip→github.com/thoughtbot/paperclip

Sugestão: Rodrigo Mendonça (rails-br)

→ Devise → github.com/plataformatec/devise

Sugestão: Celso Dantas (rails-br)

→ Twitter → github.com/jnunemaker/twitter

Page 10: Rails e suas Gems

Projeto Rails criado..

rails new <projeto>

Page 11: Rails e suas Gems

Gems Apresentadas!

→ Paperclip

→github.com/thoughtbot/paperclip

Sugestão: Rodrigo Mendonça (rails-br)

→ Devise → github.com/plataformatec/devise

Sugestão: Celso Dantas (rails-br)

→ Twitter → github.com/jnunemaker/twitter

Page 12: Rails e suas Gems

PaperClipNo GemFile:

gem "paperclip", "~> 2.4"

No Model: (Post)

has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }

Page 13: Rails e suas Gems

PaperClipMigrate:

class AddImageToPost < ActiveRecord::Migration

def self.up

add_column :posts, :image_file_name, :string

add_column :posts, :image_content_type, :string

add_column :posts, :image_file_size, :integer

add_column :posts, :image_updated_at, :datetime

end

def self.down

remove_column :posts, :image_updated_at

remove_column :posts, :image_file_size

remove_column :posts, :image_content_type

remove_column :posts, :image_file_name

end

end

Page 14: Rails e suas Gems

PaperClip

<%= form_for :post, :url => posts_path, :

html => { :class => :form, :multipart => true } do |f| -%>

<div class="field">

<strong><%= f.label :data %></strong>

<%= f.hidden_field :data, :value => Time.now %>

<%= f.label Time.now.to_date %>

</div>

<div class="field">

<%= f.label :titulo %><br />

<%= f.text_field :titulo %>

</div>

<div class="field">

<%= f.label :chamada %><br />

<%= f.text_field :chamada %>

</div>

Page 15: Rails e suas Gems

PaperClip

<div class="field">

<%= f.label :texto %><br />

<%= f.text_area :texto %>

</div>

<div class="field">

<%= f.label "Imagem" %>

<%= f.file_field :image %>

</div>

<div class="actions">

<%= f.submit %>

</div>

<% end -%>

Page 16: Rails e suas Gems

PaperClip

View Show:

<%= image_tag @post.image.url if [email protected]_file_name.nil? %>

<%= image_tag @post.image.url(:medium) if [email protected]_file_name.nil? %>

<%= image_tag @post.image.url(:thumb) if [email protected]_file_name.nil? %>

Page 17: Rails e suas Gems

PaperClip

Page 18: Rails e suas Gems

Gems Apresentadas!

→ Paperclip→github.com/thoughtbot/paperclip

Sugestão: Rodrigo Mendonça (rails-br)

→ Devise → github.com/plataformatec/devise

Sugestão: Celso Dantas (rails-br)

→ Twitter → github.com/jnunemaker/twitter

Page 19: Rails e suas Gems

Devise

Page 20: Rails e suas Gems

Devise

Gemfile:

gem “devise”

Iniciando o Devise:

rails generate devise:install

Configurando um model:

rails generate devise usuario

Page 21: Rails e suas Gems

Devise

Page 22: Rails e suas Gems

Devise

Rodando Migrate:

Page 23: Rails e suas Gems

Devise

Autenticando Controller:

before_filter :authenticate_user!

before_filter :authenticate_user!,

:except => [:index, :show, :create]

Page 24: Rails e suas Gems

Gems Apresentadas!

→ Paperclip→github.com/thoughtbot/paperclip

Sugestão: Rodrigo Mendonça (rails-br)

→ Devise → github.com/plataformatec/devise

Sugestão: Celso Dantas (rails-br)

→ Twitter → github.com/jnunemaker/twitter

Page 25: Rails e suas Gems

Twitter

Page 26: Rails e suas Gems

Twitter

GemFile:

gem 'twitter'

Page 27: Rails e suas Gems

Twitter

<table border="0">

<tr>

<td><%= image_tag Twitter.profile_image("rr_martins", :size => 'bigger') %></td>

<td><%= Twitter.user('rr_martins').location %>

<br> <%= Twitter.user('rr_martins').description %>

</td>

Page 28: Rails e suas Gems

Twitter

</tr>

<% Twitter.user_timeline("rr_martins",{:count=>5}).each do |twit| %>

<tr>

<td colspan="2"><%= twit.text %></td>

</tr>

<% end %>

</table>

Page 29: Rails e suas Gems

Fonteshttp://github.com

https://www.ruby-toolbox.com

http://rubygems.org/

Em breve:

http://rrmartins.com

https://github.com/rrmartins/blog

Page 30: Rails e suas Gems

Duvidas?

@rr_martinsRodrigo [email protected]

Page 31: Rails e suas Gems

Obrigado!

@rr_martinsRodrigo [email protected]