Bom senso no uso da Tecnologia da Informação
Criando um arquivo no Rails
Quando precisamos criar um arquivo através da nossa aplicação em Rails, geralmente para exportar um conjunto de dados, podemos utilizar a classe File do ruby. E isso é extremamente simples!
Para criar um novo arquivo:
meuArquivo = File.new("nomedoarquivo.txt", "w")
Ao criar uma instência de File, podemos passar os seguintes parâmetros:
- nome do arquivo
- modo (por padrão, somente leitura)
- permissões do arquivo
No nome do arquivo podemos indicar também o caminho completo de onde o arquivo deve ficar. Da forma como foi feito no exemplo anterior, o arquivo ficará na raiz da nossa aplicação Rails (mesmo diretório onde ficam os diretórios app, config, etc …). Se você quiser disponibilizar o arquivo para download, pode informar nesse primeiro parâmetro um caminho dentro da pasta public, por exemplo: “public/arquivos/seuarquivo.csv”. Note que, se você usar o modo “w” (escrita), o Ruby cria o arquivo, mas o diretório tem que existir previamente.
No segundo parâmetro (modo), definimos como o arquivo será aberto: somente leitura, leitura e gravação, somente gravação a partir do início ou do final do arquivo, entre outras. A tabela a seguir resume as opções disponíveis.
| Modo | Descrição |
| “r” | Somente leitura, iniciando do começo do arquivo (padrão) |
| “r+” | Igual a “r” |
| “w” | Somente escrita. Apaga tudo o que estiver no arquivo, ou cria um novo arquivo disponível somente para escrita caso ele não exista. |
| “w+” | Leitura e escrita. Apaga tudo o que estiver no arquivo, ou cria um novo arquivo disponível para leitura e escrita caso ele não exista |
| “a” | Somente escrita. A diferença entre “w” e esta opção é que “a” começa a escrever a partir do final do arquivo. Cria um novo arquivo para escrita caso ele não exista |
| “a+” | Leitura e escrita. A diferença entre “w+” e esta opção é que “a+” começa a escrever a partir do final do arquivo. Cria um novo arquivo para escrita e leitura caso ele não exista |
| “b” | (Disponível somente para Windows/DOS) Modo binário. Pode ser combinado com qualquer opção listada anteriormente. |
O terceiro parâmetro – permissões – você pode informar qual a permissão do arquivo a ser criado. Tanto esse parâmetro quanto o modo de abertura/criação do arquivo são dependentes de plataforma, isto é, em ambiente Unix, a permissão pode ser informada como “0644″, por exemplo.
Bom, agora vamos escrever alguma coisa no nosso arquivo:
meuArquivo = File.new("nomedoarquivo.txt", "w")
meuArquivo.puts "Hello, Universe!"
meuArquivo.close
Caso você queira criar um arquivo XML, pode fazer o seguinte também:
meuArquivo = File.new("public/arquivos/arquivo.xml", "w")
meuArquivo.puts User.find(:first).to_xml
meuArquivo.close
Dessa forma, você terá o primeiro registro da tabela Users em um arquivo XML, dentro do diretório arquivos
Para mais informações e outros métodos veja a documentação da classe File. Para detalhes sobre os modos de abertura do arquivo, veja a documentação da classe IO.
| Imprimir artigo | Este artigo foi escrito por Elvis Fernandes em 27/08/2008 às 10:20, e está arquivado em Desenvolvimento, Rails. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |


Últimos Comentários