Problemas com DBI

Olá pessoal, estou fazendo um script simples em Ruby que acessa o Mysql (via DBI) e imprime a versão do banco.

Já baixei o DBI, o dbd-Mysql (driver), instalei-os usando "ruby setup.rb" e tudo ocorreu sem problemas.
Baixei o "ruby-dbi" e o "dbd-mysql" do site => http://rubyforge.org/projects/ruby-dbi/

Na primeira vez que fui executar o script, ocorreu um "LoadError" em uma linha do arquivo "dbi.rb" da própria biblioteca do DBI, informando que não conseguiu carregar um "gem deprecated". Instalei o deprecated com "gem install deprecated", e ao executar o script de novo, ele apoonta um erro de "NoMethodError".

Está ocorrendo um erro => "undefined method ‘deprecate’ for DBI:: Date::Class (NoMethodError)
Na linha => 57 do arquivo “date.rb”

Segue um pedaço do código fonte do aquivo “date.rb” da biblioteca:

module DBI
    #
    # Represents a Date.
    #
    # DEPRECATED: Please use a regular Date or DateTime object.
    #
    class Date
        attr_accessor :year, :month, :day

        # Aliases
        alias :mon :month
        alias :mon= :month=
        alias :mday :day
        alias :mday= :day=

        # Returns a new Time object based on the year, month and day or, if a
        # Time object was passed to the constructor, returns that object.
        def to_time
            @original_time || ::Time.local(@year, @month, @day, 0, 0, 0)
        end

        # Returns a new Date object based on the year, month and day or, if a
        # Date object was passed to the constructor, returns that object.
        def to_date
            @original_date || ::Date.new(@year, @month, @day)
        end

        # Returns a DBI::Date object as a string in YYYY-MM-DD format.
        def to_s
            sprintf("%04d-%02d-%02d", @year, @month, @day)
        end

        private 

        # DBI::Date.new(year = 0, month = 0, day = 0)
        # DBI::Date.new(Date)
        # DBI::Date.new(Time)
        #
        # Creates and returns a new DBI::Date object.  It's similar to the
        # standard Date class' constructor except that it also accepts a
        # Date or Time object.
        def initialize(year=0, month=0, day=0)
            case year
            when ::Date
                @year, @month, @day = year.year, year.month, year.day 
                @original_date = year
            when ::Time
                @year, @month, @day = year.year, year.month, year.day 
                @original_time = year
            else
                @year, @month, @day = year, month, day
            end
        end

        public

        deprecate :initialize, :public
    end
end

Já pesquisei muito, e ainda não consegui achar uma solução pra isso. Será que é um bug dessa biblioteca?
Aceito sugestões de outras bibliotecas também para acessar o banco via Ruby (menos o ActiveRecord, esse aí eu já consegui, e quero tentar via não-ORM mesmo)
Grato pela atenção.

resposta.nil?

Mas tem mesmo que ser por dbi? Porque você pode usar a propria gem mysql pra fazer isso…

require "rubygems"
require "mysql"

Mysql.real_connect("localhost", "user", "pass").query("SELECT VERSION()").fetch_row

[quote=Navarro]Mas tem mesmo que ser por dbi? Porque você pode usar a propria gem mysql pra fazer isso…

[code]
require "rubygems"
require “mysql”

Mysql.real_connect(“localhost”, “user”, “pass”).query(“SELECT VERSION()”).fetch_row
[/code][/quote]
Putz fala sério que era ridículo de fácil assim :slight_smile:
Mto obrigado pela dica.

hauahauhaua welcome to ruby

Outra biblioteca interessante pro mysql, principalmente se vc quer trabalhar diretamente com o banco sem um ORM na frente é o http://github.com/brianmario/mysql2. Se quiser dar uma olhada depois, fica a dica.

Boa sorte! =]