Truques de Ruby: DATA e __END__
Publicado; 05/03/2011 Filed under: ruby, tutorial | Tags: dicas, ruby, truques Comentários desativadosEm Ruby, temos algumas CONSTANTES GLOBAIS que facilitam nossa vida. Nesse post, lhes apresento DATA e __END__.
Normalmente os arquivos de scripts em Ruby são finalizados com EOF, mas você pode indicar onde será o fim do script, adicionando a constante __END__ e com isso, todo bloco abaixo de __END__ não será processado pelo Ruby como comandos da linguagem. Então, podemos usar a constante DATA, que é uma instância de File do arquivo de script atual, porém considerando apenas o conteúdo que está abaixo da constante __END__. Vejamos alguns exemplos para entender melhor como funciona
require "yaml"
obj = YAML::load(DATA)
p obj
__END__
---
-
name: Adam
age: 28
admin: true
-
name: Maggie
age: 28
admin: false
Neste post de onde peguei o exemplo acima, apresenta outro uso com sinatra.
Desabilite acesso a URLs reais em seus testes com Fakeweb
Publicado; 19/02/2011 Filed under: ruby | Tags: fakeweb, rails, rspec, ruby 4 Comments »Em um dos projetos que estou trabalhando atualmente, a suite de testes começou a demorar a executar, papo de 5 minutos. Então, habilitando a opção de profile do RSpec para identificar quais testes estavam lentos, identifiquei que eram os testes referentes a importação de feeds. Então, o que descobri? Que na verdade, os testes estavam fazendo requisições reais dos feeds. Então, primeiro passo é, desabilitar acesso a URLs reais e nada como o bom e velho Fakeweb para ajudar nessa parte.
Dois passos simples
No Gemfile:
gem "fakeweb", :group => :test
E no spec/spec_helper.rb:
FakeWeb.allow_net_connect = false
Agora toda a suite roda em 30 segundos. Claro, próximo passo é arrumar os testes que estão quebrando e nesse caso. MOCK NELES!
TextMate Bundle for Factory Girl
Publicado; 15/09/2010 Filed under: ruby | Tags: bundle, factory girl, rspec, ruby, textmate 1 Comment »Hoje tenho escrito testes com RSpec e como sou fã do Factory Girl e não quero “poluir” meu TextMate com o bundle do Ruby Shoulda aqui no trabalho, resolvi extrair os Snippets do Factory Girl que contem no mesmo em um Bundle só para o mesmo… Então, está disponível no meu github para que todos que queiram possam usar.
http://github.com/tinogomes/factory_girl-tmbundle
That’s all folks!





