Тестирование метода method_defined? на классах ActiveRecord не работает до создания экземпляра

У меня возникло проблемное тестирование методов, соответствующих столбцам базы данных ActiveRecord. Возьмите любую имеющуюся у вас модель (в моем случае Document) и выполните следующие действия:

$  rails c
Loading development environment (Rails 3.0.9)
>> Document.method_defined?(:id)
=> false
>> Document.new
=> #<Document id: nil, feed_id: nil >
>> Document.method_defined?(:id)
=> true

Очевидно, что некоторые жизненные циклы ActiveRecord продолжаются как предварительное условие .new(), которое добавляет все столбцы базы данных как методы в класс.

Если это действительно усложняет ситуацию во время модульного тестирования. Я хотел бы иметь класс, который во время выполнения принимает классы ActiveRecord и выполняет некоторую проверку на них

Например

class Foo < ActiveRecord::Base
  def work1
    # something
  end
end
class Command
  def operates_on(clazz, method)
    # unless I add a "clazz.new" first, method_defined? will fail 
    # on things like :id and :created_at
    raise "not a good class #{clazz.name}" if ! clazz.method_defined?(method)
    # <logic here>
  end
end

describe Command do
  it "should pass if given a good class" do
    Command.new.operates_on(Foo,:work1)
  end
  it "should pass if given a database column" do
    # this FAILS
    Command.new.operates_on(Foo,:id)
  end
  it "should raise if given an invalid class/method combo" do
    lambda { Command.new.operates_on(Foo,:non_work) }.should raise_error
  end
end

Что я могу сделать, чтобы утверждать (кроме создания ненужного экземпляра с .new()), который ActiveRecord выполнил свою инициализацию?