RSS

Screencast Piloto sobre BDD - 00 - Setup

June 16th, 2009 by Eduardo Fiorezi

Olá pessoal,

Ando meio sumido pois estou trabalhando bastante.

Preparei um screencast piloto sobre tdd, espero que gostem, mas gostaria de receber elogios, críticas, comentários e sugestões para o próximo screencast.
Gostaria de ajudar a comunidade a tirar algumas dúvidas sobre o desenvolvimento com Rails e BDD.

Segue o link do video:
http://www.tudoquequerosaber.com/screencasts/EduardoFiorezi-bdd-00-setup.mov

Posted in bdd, screencast | 12 Comments »

Referências I18n no Rails.

November 25th, 2008 by Eduardo Fiorezi

Estou migrando algumas aplicações para rails 2.2.2 e encontrei alguns probleminhas que gostaria de compartilhar para que seja fácil a migração e a utilização do I18n.

Após migrar sua aplicação coloque essas linhas no seu enviroment.rb. Descomente conforme sua necessidade.

Para tirar qualquer dúvida sobre esta funcionalidade veja este wiki: http://rails-i18n.org/wiki

O railer João Lins publicou um artigo interessante em português sobre o assunto, mas só consegui usar a tradução dos campos dos models utilizando o seguinte código:

A diferença é a troca de human_attribute_names por attributes.

Posted in Geral | 1 Comment »

Refactoring: Ruby Edition, eu quero!

September 23rd, 2008 by Eduardo Fiorezi

Jay Fields anunciou em seu blog que o livro Refactoring: Ruby Edition está a venda na loja virtual Safari. Para quem já leu a versão antiga em Java, esta obra dispensa apresentações, eu recomendo a todos que gostam de código bem escrito.

Os autores dos livros são Jay Fields, Shane Harvie, Martin Fowler e com a participação de Kent Beck.

Posted in Ruby, livros, Refactoring, TDD, Geral | No Comments »

Rails Summit 2008 - Eu também vou!!

September 9th, 2008 by Eduardo Fiorezi

Rails Summit Latin America Fala pessoal, estou passando aqui para lembrar que hoje acabam as inscrições promocionais de R$ 300,00. Estou bastante ansioso com o evento, a qualidade dos palestrantes é excelente. Será ótimo encontrar todo pessoal que acompanho silenciosamente nos últimos meses.

Até lá.

Posted in Geral | No Comments »

Você ainda usa Rails no Windows? Veja aqui seu guia definitivo para migrar para o Ubuntu.

January 27th, 2008 by Eduardo Fiorezi

Update 04/04/2008: Se encontrar algum problema ao instalar o primeiro script, retire o pacote openssl-ruby1.8.

Quem já se desligou da Microsoft seja para usar Mac ou qualquer outra distribuição Linux, sabe como é melhor estar em um ambiente livre.

Se você programa com TDD e seus testes demoram 15 segundos para serem executados, no linux eles vão demorar de 2 a 3 segundos. Alguém ainda tem tempo para perder?

Hoje eu uso o Mac osx mas não gosto de ver meus amigos usando o sistema do tio bill.

Vamos partir do princípio que você tem um HD novo e quer instalar Windows e Ubuntu. Eu gosto de fazer 3 partições. Uma para Windows, uma para o Ubuntu e outra para guardar os arquivos independente do sistema operacional.

Já gravou seu cd do Ubuntu? Você vai precisar, entre no http://www.ubuntu.com/getubuntu pegue a ultima versão e queime.

  1. Instale o windows na primeira partição.
  2. De um boot com o cd do Ubuntu na máquina e divirta-se enquanto ele faz todo trabalho para você, se você não sabe, durante a instalação sua conexão com a internet estará disponível, abuse do Firefox e vá ler seus feeds.
  3. Você deverá formatar a terceira partição com o formato que quiser. Essa discussão é muito grande, então decida se irá usar FAT, NTFS, EXT3. Se você usar a EXT 3 seu windows não irá enxergar essa partição. Mas quem precisa de windows?

Feito isso você deverá ter os 2 sistemas operacionais bootando na sua máquina.

Vamos agora configurar seu ambiente ruby/rails. Para isso na Inovare desenvolvemos alguns scripts para ajudar neste ambiente inicial.

Abra seu terminal no Ubuntu.

Utilize o comando sudo passwd para definir uma senha de super usuário.

Entre em modo super usuário digitando su e apertando enter.

Agora você pode aplicar os scripts que estão no endereço http://inovare.svnrepository.com/svn/public/tools_inovare/linux/scripts/

Vamos utilizar apenas os 3 primeiros scripts(eles já salvaram muita dor de cabeça).

Vamos baixá-los e executar. Faça um comando de cada vez.

wget http://inovare.svnrepository.com/svn/public/tools_inovare/linux/scripts/01_install_packages
bash 01_install_packages

wget http://inovare.svnrepository.com/svn/public/tools_inovare/linux/scripts/02_install_rubygems
bash 02_install_rubygems

wget http://inovare.svnrepository.com/svn/public/tools_inovare/linux/scripts/03_install_all_gems
ruby 03_install_all_gems

Esse processo deve demorar um pouco, mas depois seu ambiente já estará 100%, com mongrel, RedCloth, sqlite3-ruby, ZenTest, rails, capistrano, termios, mocha, rmagick.

Espero que isso seja útil e se ocorrer algum erro no caminho ou quer dar alguma sugestão para melhorar esse processo, por favor deixe seu comentário. Não uso mais o Ubuntu mas à alguns dias precisei refazer uma instalação e usei este mesmo processo.

__________________ conteúdo dos arquivos:
01_install_packages

apt-get update

apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8 libreadline-ruby1.8 libruby1.8 -y --force-yes

ln -s /usr/bin/ruby1.8 /usr/local/bin/ruby
ln -s /usr/bin/ri1.8 /usr/local/bin/ri
ln -s /usr/bin/rdoc1.8 /usr/local/bin/rdoc
ln -s /usr/bin/irb1.8 /usr/local/bin/irb

apt-get install mysql-server libmysql-ruby1.8 build-essential libopenssl-ruby1.8 subversion gparted unrar gnochm sqlite3 libsqlite3-dev libmagick9-dev -y --force-yes


02_install_rubygems

wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz -c

tar -xzvf rubygems-1.0.1.tgz

cd rubygems-1.0.1

ruby setup.rb

cd ..

ln -s /usr/bin/gem1.8 /usr/local/bin/gem

03_install_all_gems

#!/usr/local/bin/ruby

if `whoami` == "rootn"
  %w(mongrel RedCloth sqlite3-ruby ZenTest rails capistrano termios mocha rmagick postgres-pr).each do |gem_name|
    puts "nnInstalling gem: #{gem_name}..."
    `gem install #{gem_name}`
  end
else
  puts 'Login as ROOT to install all gems'
end

Posted in Linux, Ruby, Rails, Geral | 1 Comment »

Syntax Highlight nas suas views do Rails 2.0

December 6th, 2007 by Eduardo Fiorezi

A comunidade está esperando apenas o último suspiro para a chegada do Rails 2.0.

Nos próximos dias será anunciada a versão oficial e como parece que foi tudo muito rápido. Tenho a impressão que foi ontem que comecei a aprender Ruby e Ruby on Rails.

Vamos ao que interessa. Seu textmate não está reconhecendo as views com o formato action.html.erb? Achei uma thread no grupo rubyonrails-talk que explica como habilitar o sintax highlight na suas novas views.


No textmate entre no menu Bundle editor depois Edit Languages.
Escolha Ruby on Rails depois HTML(rails)
Mude fileTypes = ( ‘rhtml’ ); para fileTypes = ( ‘rhtml’, ‘html.erb’ );

*Dica do Frederick Cheung

Vocês também perceberam que o Rails 2.0 está mais limpo e rápido?

Posted in Rails 2.0, Geral | 1 Comment »

Podcasts!!!!… Carlos Eduardo Brando… Façam suas perguntas.

December 1st, 2007 by Eduardo Fiorezi

Infelizmente não consegui levar para a Reject Conf SP`07 um gravador de voz que tinha em mente para gravar o podcast.

Convidei o Carlos Eduardo Brando do blog Nome do Jogo e dono do site carreiraTI para o próximo podcast.

Vamos conversar sobre seus projetos, saber como ele começou com Ruby/Rails e assuntos referentes ao mercado de trabalho hoje.

Deixe sua pergunta até o dia 04/12, ela é muito bem vinda.

Posted in Ruby, Rails, PodCast, Geral | 2 Comments »

Final da RejectConf SP’07 e keynote

November 19th, 2007 by Eduardo Fiorezi

Acabou a RejectConf SP’07 e sobram elogios para todos participantes e organizadores, o ambiente estava muito colaborativos e com um ar underground como é o estilo Ruby.

Corri bastante com a minha apresentação mas espero ter passado a importância de manter um código saudável e de conhecer a estrutura do Rails para se manter DRY.

Coloquei explicações no meu keynote, você pode baixar e deixar seu feedback.

Pena que não consegui entrar em contato com todas as pessoas/blogueiros. Foi bom conhecer Carlos Brando, Arthur Geek, Danilo Sato, George Guimarães, Akita, o time da Improve It que eu só conhecia on-line e o pessoal que esqueci o nome(deixem um comentário com o blog aqui para mim não esquecer).

Fiquei muito surpreso com a apresentação do Fabio Kung sobre o Jruby e como ele pode ser usado com Java, realmente está muito fácil.

Impressionante saber através do Carlos Villela como é o ambiente da thoughtworks e sua estrutura enorme em cima do Ruby.

Todas palestras foram ótimas e valeu a pena ir e voltar no mesmo dia para Sampa.

Que venha a RailsConf Brasil’ 08, o que acham?

Posted in Eventos, Rails, Geral | 6 Comments »

Próximo Podcast será no ritmo da Reject Conf SP’07

November 11th, 2007 by Eduardo Fiorezi

Mic

Olá pessoal, estou meio sumido da produção de podcasts devido aos projetos rails que estou fazendo. Mas em alguns dias teremos a Reject Conf SP’07 que vai estar bombando com os grandes nomes da comunidade brasileira de Ruby e Ruby on Rails.

Estou buscando um aparelho portátil para poder fazer uma entrevista com toda essa galera, fazendo algumas perguntas em cima da hora e naquele papo de barzinho.

O que vocês gostariam de perguntar e para quem?

Acho que vai ser uma experiência muito interessante e vai me dar um pique novo para os próximos podcasts.

ps. Carlos copiei seu estilo de post. Depois passa a conta do paypal.

Posted in PodCast, Geral | 4 Comments »

Extraindo um padrão para seus forms no Rails

November 11th, 2007 by Eduardo Fiorezi

Imagine que você tenha um padrão para seus forms, como o gerado pelo scaffold_resources:

<% form_for(:podcast, :url => podcast_path(@podcast), :html => { :method => :put }) do |f| %>
 
  <p>
    <b>Title</b><br />
    <%= f.text_field :title %>
  </p>
 
  <p>
    <b>Created by</b><br />
    <%= f.text_field :created_by %>
  </p>
 
  <p>
    <%= submit_tag "Update" %>
  </p>

Você deve criar uma nova classe que extende de ActionView::Helpers::FormBuilder, sobrescrevendo os campos que você quer, segue logo abaixo uma implementação para todos os campos, exceto o hidden_field:

class DefaultFormBuilder < ActionView::Helpers::FormBuilder
  (field_helpers - %w(hidden_field)).each do |selector|
    src = <<-END_SRC
      def #{selector}(field, options = {})
        @template.content_tag("p" ,
        @template.content_tag("b" , field.to_s.humanize) + "<br />" + super)
      end
    END_SRC
    class_eval src, __FILE__, __LINE__
  end
end

A aplicação é muito simples, veja:

<% form_for(:podcast, :url => podcast_path(@podcast), :html => { :method => :put },
                   :builder => DefaultFormBuilder) do |f| %>
 
    <%= f.text_field :title %>
    <%= f.text_field :created_by %>
 
  <p>
    <%= submit_tag "Update" %>
  </p>

O código fica mais limpo e padronizado.

Mas agora eu quero mudar o título que aparece entre a tag bold, posso então inventar uma nova propriedade para o text_field:

<% form_for(:podcast, :url => podcast_path(@podcast), :html => { :method => :put },
                   :builder => DefaultFormBuilder) do |f| %>
 
    <%= f.text_field :title,     :label => "Título" %>
    <%= f.text_field :created_by, :label => "Criado por" %>
 
  <p>
    <%= submit_tag "Update" %>
  </p>

A modificação é simples:

class DefaultFormBuilder < ActionView::Helpers::FormBuilder
  (field_helpers - %w(hidden_field)).each do |selector|
    src = <<-END_SRC
      def #{selector}(field, options = {})
        @template.content_tag("p" ,
        @template.content_tag("b" ,(options[:label] || field.to_s.humanize)) + "<br />" + super)
      end
    END_SRC
    class_eval src, __FILE__, __LINE__
  end
end

Pensamento interior: “Como é bom apagar código. ;)”

Posted in Ruby, Refactoring, Rails | 2 Comments »

« Previous Entries