typo

test/unit 不具合修正中。
typo の元バージョンいくつだか忘れた。(release_2_0_0 らしい)
test/unit/comment_test.rb ん中の test_reject_article_age で Failure

  1) Failure:
test_reject_article_age(CommentTest) [./test/unit/comment_test.rb:69]:
<false> is not true.

コードは以下。

  def test_reject_article_age
    c = Comment.new
    c.author = "Old Spammer"
    c.body = "Old trackback body"
    c.article = @article3

    assert ! c.save
    assert c.errors.invalid?('article_id')
      
    c.article = @article1
      
    assert c.save
    assert c.errors.empty?
  end

二度目の c.save で c.save が false との事。うむむ、と唸りつつ app/models/comment.rb を見て validate がクサそう、とアタリを付ける。
app/models/comment.rb (の一部)

class Comment < ActiveRecord::Base
  belongs_to :article

  validates_presence_of :author, :body
  validates_against_spamdb :body, :url, :ip
  validates_age_of :article_id
 
  protected
  
    before_save :make_nofollow, :correct_url, :transform_body

# ってか、メソドが全部プロテクトですな。

validate_age_of って何だ、と思いつつプロジェクトん中を grep かけると lib/spam_protection.rb の中に validate が定義してあった。キッツいなー、勉強にはなりますが。

で、今からその validate を追い掛ける。