"Debugando" Aplicações Rails com Console do Firebug

Ae galera, tudo bom? Estou aqui hoje para compartilhar algo que aprendi essa semana, é uma dica simples mas que pode ajudar na hora de debugar aplicações Ruby on Rails 3.

Todo desenvolvedor provavelmente conhece o Firebug né? Se você não conhece está perdendo tempo, não deixe de testar. Ele é um complemento (extensão) para os principais navegadores (Firefox e Chrome) que poupa um tempo bacana no desenvolvimento de interfaces.

Ele tem uma aba chamada console onde podemos exibir informações via Javascript, mas a partir de agora também podemos exibir informações diretamente do servidor.

Instalando a Biblioteca

Precisamos executar alguns passos rápidos para termos acesso a essa funcionalidade, sem muita delongas vamos começar

1- Crie um arquivo chamado firebug_logger.rb na pasta lib dentro de sua aplicação e cole o código desse gist (você pode criar um sub diretório dentro da lib se precisar). 2- Carregue a classe acima no arquivo config/boot.rb através da linha:
require File.expand_path('lib/firebug_logger')
3- No arquivo de ambiente de sua aplicação config/environments/development.rb (no caso, desenvolvimento) adicione:
config.middleware.use ::Rack::FirebugLogger
4- Por último, crie um método no app/controllers/application_controller.rb para que possamos chamar o código responsável por logar informações no console do Firebug.
helper_method :firebug
private
def firebug(message, type = :debug)
  request.env['firebug.logs'] ||= []
  request.env['firebug.logs'] << [type.to_sym, message.to_s]
end
5- Caso esteja rodando o servidor Rails, reinicie para que você possa usar essa funcionalidade, caso contrário não funcionará.

"Debugando" no console do Firebug

Enviando mensagens através dos controllers:

class HomeController < ApplicationController
  def index
    firebug('Debug')
    firebug('Warning', :warn)
    firebug('Error', :error)
    firebug('Info', :info)
  end
end

E por views:

<% firebug('Debug') %>
<% firebug('Warning', :warn) %>
<% firebug('Error', :error) %>
<% firebug('Info', :info) %>

Resultado:

debugando-aplicacoes-rails-com-console-do-firebug

Essa foi a dica de hoje. O que acharam?

Até mais.

Written on November 19, 2012

Share: