Usando ActiveRecord com Ruby sem Rails
Bem Pessoal,
Hoje iremos abordar um assunto bem interessante que seria o uso do modulo ActiveRecord sem a presença do Rails.
O ActiveRecord tem como uma de suas principais funcionalidades abstrair o acesso ao banco de dados para o desenvolvedor. Através dele é possivel fazer todo o CRUD ( Create, Read, Update, Delete ) sem usar a linguagem SQL, entre outras consultas inteligentes. Vamos a um exemplo:
Tenho minha tabela Contato, com os campos id, nome, telefone.
Então , teria uma classe Contato que herda da ActiveRecord::Base, onde no rails seria chamado de modelo.
class Contato < ActiveRecord::Base
end
Somente por herdar da ActiveRecord::Base, essa clas já possui todos métodos de acesso a base de dados.
#Criar um registro na base de dados
Contato.create(:nome=>"Italo Matos", :telefone=>"29131829")
#Consultar um registro por nome e imprimir na tela o id do mesmo.
puts Contato.find_by_nome("Italo Matos") .id
#Buscar o registro com o id igual a 1 e imprimir o nome na tela.
puts Contato.find(1) .nome
Então agora vamos saber como usar o ActiveRecord sem uso do rails. Vamos criar uma mini aplicação em Ruby que leia um arquivo texto com uma lista de contatos, e adicione na minha base de dados. O layout do arquivo segue o seguinte formato:
#nome Telefone
exemplo:
#agenda.txt
Italo 3984298
Carlos 9349238
Andre 3984298
Ronaldo 9328439
1o - Precisamos um arquivo com a configuração do nosso banco de dados, onde chamei de database.yml, onde tem o adapter , o nome da base de dados, login, senha e o host.#database.yml
adapter: mysql
database: Agenda
username: root
password: 123456
host: localhost
2o - Vamos criar um arquivo chamado Processar.rb, onde o mesmo vai ler o agenda.txt, e cadastrar na base de dados Agenda, na tabela Contato.
#Processar.rb
require 'rubygems'
require 'active_record'
require 'yaml'
dbconfig = YAML::load(File.open('database.yml'))
ActiveRecord::Base.establish_connection(dbconfig)
class Contato < ActiveRecord::Base
end
File.open("agenda.txt").readlines.each do |linhaContato|
valores = linhaContato.split(" ")
Contato.create(:nome=>valores[0],:telefone=>valores[1])
end
Executando o codigo: Ruby Processar.rb estaremos fazendo a migração dos dados em Agenda.txt para nossa base de dados. Então é isso ai pessoal, e até a próxima!


abração! (Comentar)
Abraços!
Samir
http://samirmamude.com (Comentar)