Recentemente comecei a tentar usar o Textmate, mas ainda não consegui abandonar o Vim. Uma coisa que vi no Textmate que eu queria que tivesse no Vim são as abas.
Mas o que eu descobri esses dias é que o Vim trabalha com abas também, a partir da versão 7 (eu não sabia disso).
Se você também não sabia, seguem alguns comandos para trabalhar com as abas:
:tabnew
Abre uma nova aba
:tabn número
Navega entre as abas, exemplo:
tab 2 (vai para a aba número 2)
:tabnext
Vai para a próxima aba
:tabprev
Vai para a aba anterior
:tabfirst
Vai para a primeira aba
:tablast
Vai para a última aba
E se você usa rails-vim e está acostumado com comandos como :RSmodel, RVcontroller, etc, você pode utilizar também a versão desses comandos com T, exemplo:
:RTmodel
Abre um model numa nova aba
:RTview
Abre uma view numa nova aba
:RTcontroller
Abre um controller numa nova aba
:AT
Abre o teste numa nova aba
Uma coisa que aconteceu comigo usando abas no gvim + Ubuntu foi que quando eu abri as abas (com o gvim maximizado) a linha de comando do vim sumiu. Se isso aconteceu com você também basta restaurar e maximizar o vim novamente.
domingo, 11 de outubro de 2009
sábado, 10 de outubro de 2009
Criando rake tasks
Um ótimo jeito de criar um script Ruby para sua aplicação Rails, principalmente se ele precisar ter o ambiente do Rails carregado, é através de rake tasks.
Quando eu ouvia falar de criar rake tasks eu achava que devia ser algo complexo, mas esses dias precisei criar um script Ruby para popular o banco de minha aplicação e o Cassio Marques me falou pra dar uma olhada nesse tipo de arquivo, me impressionei com o quão simples é criar uma.
Para criar uma rake task crie um arquivo com a extensão .rake dentro do diretório lib/tasks de sua aplicação. Exemplo:
Dentro do arquivo abra um bloco como o do exemplo:

Dentro desse bloco você pode escrever script Ruby, por exemplo:

A partir daí você já pode executar:
O resultado será:
Você pode também adicionar uma descrição para ela, assim ela aparecerá na lista de taks do rake:

Para ver a sua task na lista execute o comando:
Ou, para achar ela de uma forma mais fácil:
Como resultado, dentre a lista que aparecer você encontrará:
Caso você precise do ambiente Rails carregado para executar o seu script, na hora de abrir o bloco faça da seguinte forma:
Como no exemplo:

Você pode criar mais de uma task por arquivo:

Bom é isso pessoal, a partir daí basta utilizar o poder do Ruby e do Rails para criar as mais diversas tarefas.
Espero que o post ajude e até o próximo.
Quando eu ouvia falar de criar rake tasks eu achava que devia ser algo complexo, mas esses dias precisei criar um script Ruby para popular o banco de minha aplicação e o Cassio Marques me falou pra dar uma olhada nesse tipo de arquivo, me impressionei com o quão simples é criar uma.
Para criar uma rake task crie um arquivo com a extensão .rake dentro do diretório lib/tasks de sua aplicação. Exemplo:
lib/tasks/example.rakeDentro do arquivo abra um bloco como o do exemplo:

Dentro desse bloco você pode escrever script Ruby, por exemplo:

A partir daí você já pode executar:
rake my_new_rake_taskO resultado será:
$ rake my_new_rake_task
(in /Users/bruno/projetos/scafold)
HelloVocê pode também adicionar uma descrição para ela, assim ela aparecerá na lista de taks do rake:

Para ver a sua task na lista execute o comando:
rake -TOu, para achar ela de uma forma mais fácil:
rake -T | grep newComo resultado, dentre a lista que aparecer você encontrará:
rake my_new_rake_task # Just an exampleCaso você precise do ambiente Rails carregado para executar o seu script, na hora de abrir o bloco faça da seguinte forma:
task :name => :environment doComo no exemplo:

Você pode criar mais de uma task por arquivo:

Bom é isso pessoal, a partir daí basta utilizar o poder do Ruby e do Rails para criar as mais diversas tarefas.
Espero que o post ajude e até o próximo.
sexta-feira, 2 de outubro de 2009
Problema ao renderizar view no formato XLS no Internet Explorer
Saudações pessoal,
Já faz um tempo que eu não posto nada, o último mês foi bem corrido, comecei em um novo emprego (dessa vez com Ruby on Rails), além das provas na faculdade, entre outros. Mas estou cheio de assuntos novos para tratar no blog.
Antes de mais nada queria parabenizar o pessoal do GURU-SP que fez mais um excelente evento no final de semana passado, cheio de gente e com o conteúdo muito interessante (testes). Se você ainda não participa do grupo não deixe de dar uma olhada.
Hoje gostaria de falar pra vocês a respeito de um problema muito estranho que tive para renderizar arquivos xls (Excel) no serviço.
Fizemos uma reelaboração do módulo de relatórios de nossa aplicação recentemente e nesse novo modelo é possível visualizar um relatório nos formatos: html, pdf e xls.
Testamos no nosso ambiente de desenvolvimento (Linux ou Mac OS X com Firefox) e tudo parecia correr tudo bem.
Para fazer com que sua aplicação renderize views no formato do Excel é bem simples, basta adicionar no arquivo config/initializers/mime_types.rb a linha:
E na hora de renderizar no controller:

Aí basta criar o arquivo com o nome no formato:
Nesse arquivo você pode escrever uma tabela no formato html, ou até mesmo criar um arquivo no formato xml, como o Ary Djmal mostra nesse post:
http://arydjmal.com/2008/6/8/export-to-excel-in-rails-2
Hoje, com a aplicação em produção, descobrimos que o Internet Explorer apresenta um comportamento completamente estranho em relação a esse tipo de tratamento.
Quando clicavam no link para exibir a página no formato html, por algum motivo estranho o IE tentava sempre renderizar o formato xls ao invés do html.
Para resolver esse problema utilizamos a solução sugerida pelo Ary Djmal no link que mencionei acima (thank you man), que foi adicionar a seguinte condição na hora de renderizar:

Dessa forma funciona no IE e continua funcionando nos outros navegadores.
Como a informação foi muito útil para mim, resolvi passar ela adiante pra quem passar pelo mesmo problema.
Não sei por que ele acontece, se alguêm souber estou muito interessado em saber.
No mais, isso só aumenta meu desprezo pelo Internet Explorer.
Espero que o post ajude, tenho mais alguns assuntos interessantes que gostaria de escrever mas exigem um pouco mais de tempo, vou tentar escrever esse final de semana.
Abraços.
Já faz um tempo que eu não posto nada, o último mês foi bem corrido, comecei em um novo emprego (dessa vez com Ruby on Rails), além das provas na faculdade, entre outros. Mas estou cheio de assuntos novos para tratar no blog.
Antes de mais nada queria parabenizar o pessoal do GURU-SP que fez mais um excelente evento no final de semana passado, cheio de gente e com o conteúdo muito interessante (testes). Se você ainda não participa do grupo não deixe de dar uma olhada.
Hoje gostaria de falar pra vocês a respeito de um problema muito estranho que tive para renderizar arquivos xls (Excel) no serviço.
Fizemos uma reelaboração do módulo de relatórios de nossa aplicação recentemente e nesse novo modelo é possível visualizar um relatório nos formatos: html, pdf e xls.
Testamos no nosso ambiente de desenvolvimento (Linux ou Mac OS X com Firefox) e tudo parecia correr tudo bem.
Para fazer com que sua aplicação renderize views no formato do Excel é bem simples, basta adicionar no arquivo config/initializers/mime_types.rb a linha:
Mime::Type.register "application/vnd.ms-excel", :xlsE na hora de renderizar no controller:

Aí basta criar o arquivo com o nome no formato:
nome_da_action.xls.rbNesse arquivo você pode escrever uma tabela no formato html, ou até mesmo criar um arquivo no formato xml, como o Ary Djmal mostra nesse post:
http://arydjmal.com/2008/6/8/export-to-excel-in-rails-2
Hoje, com a aplicação em produção, descobrimos que o Internet Explorer apresenta um comportamento completamente estranho em relação a esse tipo de tratamento.
Quando clicavam no link para exibir a página no formato html, por algum motivo estranho o IE tentava sempre renderizar o formato xls ao invés do html.
Para resolver esse problema utilizamos a solução sugerida pelo Ary Djmal no link que mencionei acima (thank you man), que foi adicionar a seguinte condição na hora de renderizar:

Dessa forma funciona no IE e continua funcionando nos outros navegadores.
Como a informação foi muito útil para mim, resolvi passar ela adiante pra quem passar pelo mesmo problema.
Não sei por que ele acontece, se alguêm souber estou muito interessado em saber.
No mais, isso só aumenta meu desprezo pelo Internet Explorer.
Espero que o post ajude, tenho mais alguns assuntos interessantes que gostaria de escrever mas exigem um pouco mais de tempo, vou tentar escrever esse final de semana.
Abraços.
Assinar:
Postagens (Atom)