rails 3 override model setter
===

I'm making a plugin and I need it to override a setter/getter for my model. Here's the code I have so far:

    module Iplong
    	extend ActiveSupport::Concern
    
    	module ClassMethods
    		...
    
    		def override_setter
    			self.class_eval %(
    				def #{attribute}=(raw_value)
    					self[:#{attribute}] = #{ip2long('raw_value')}
    				end
    	        )
    		end
    	end
    
    end
    
    ActiveRecord::Base.send :include, Iplong

Notice the `raw_value` param. If I print it in the evalued code it prints the correct value that comes when the attribute is set but if I print it inside the `ip2long` function where it is sent it returns a string: `raw_value` so how do I pass this parameter without it being interpreted as string?