Wagner Andrade

Simplificando a WEB

Wagner Andrade header image 2

Ruby Snapshot #2: Usando ActiveRecord fora do Rails

junho 12th, 2008 · 1 Comment · Ruby, Snapshot

Pra quem não sabe, o ActiveRecord é um dos frameworks que acompanham o Rails, pode-se ter ele individualmente inclusive. Toda aquela “mágica” – metaprogramação para ser mais exato – de mapeamento automático das tabelas e colunas de banco é feita por esse framework. E se eu quiser usar toda essa funcionalidade fora do Rails? Muito simples!

require 'activerecord'

ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => 'blog.sqlite3'

class Post < ActiveRecord::Base; end

f = File.new 'posts.xml', 'w'
f << Post.find(:all).to_xml
f.close

O que eu fiz aí foi conectar no banco SQLite – blog.sqlite3 -, criar uma classe que representa a tabela Posts, criar um arquivo xml – posts.xml – e fazer uma consulta à tabela Posts transformando o resultado em XML e escrevendo isso no arquivo. Percebam que fechei o arquivo no fim, nunca esqueçam disso – o mais correto seria criar um tratamento de erro, mas esse não é o objetivo deste Snapshot.

A questão da pluralização é feita pelo ActiveRecord, portanto deve-se levar isso em consideração ao mapear a classe. Pluralização: O fato da classe ser Post e a tabela ser Posts. Pra que Pluralização? A classe representa uma única entidade, enquanto a tabela “guarda” todas. Vou parar por aqui que esse também não é o objetivo desta vez.

Tags: ····

One Comment so far ↓

Leave a Comment