Incorrect Integer Value for MySQL Insert

I am trying to insert a line of data into a table in MySQL 5, the data I am using is:

StartTime: 20090413 13:41:53.000 TestName:changehistory.pl Pass:20 Fail:0 Total:20

Using this function I strip the data down and am going to insert it using the ActiveRecord insert function (I'm not using Rails as this is a Ruby app) so I am loading the ActiveRecord library and using it directly.

    class AutoHarnesses < ActiveRecord::Base     end

    def test_add(line,name)         @machine = name[2]         begin             # Test Results will have data in the line             if line =~ /data/                 # Scan the line and pull out the pairs we want                 # for eventual sql insert, thank you ruby-forums!                 s = line.scan(/(\w+):\s*([\s\d:.]+|\S+)/)                 s.shift                 # Assign values                 s.each { |key,value|                     if key == "TestName"                         then @testname = value                     elsif key == "Pass"                         then @passes = value.to_i                     elsif key == "Fail"                         then @failures = value.to_i                     elsif key == "Total"                         then @totals = value.to_i                     else                         LOGGER.warn "Did not find a recognizable test result."                     end                 }                 agNew = AutoHarnesses.connection.insert("INSERT into                     auto_harnesses (machinename,testname,test_pass,test_fail,                     test_total) VALUES (\"{@machine}\",\"{@testname}\",                     \"{@passes}\", \"{@failures}\", \"{@totals}\")")             end         rescue             # Print out errors             LOGGER.warn $!         end     end

If I run some debugging statements after assinging the values I get: Test changehistory.pl on testbox20 had 20 passes and 0 fails from a total of 20. So I know the values are being set properly.

The data looks ok, but the insert returns the following error: #<ActiveRecord::StatementInvalid: Mysql::Error: Incorrect integer value: '{@passes}' for column 'test_pass' at row 1: INSERT into                     auto_harnesses (machinename,testname,test_pass,test_fail,                     test_total) VALUES ("{@machine}","{@testname}",                     "{@passes}", "{@failures}", "{@totals}")>

I thought converting the Pass, Fail and Total values to_i would be best, since those database columns are int, but that does not seem to resolve anything. I thought maybe the double quotes was somehow converting the integer values to strings again but I got a SQL error instead so I don't think that is it either. Google and a search of the forums has not shown me anything that is helping me figure out what is going on.

Anyone encountered something similar they can share some insights with?

Thanks.