Eg. '123foo' gets converted to 123, due to the use of to_i. I think that it would be preferable for the integer filter to do something like:
begin
data = Integer(data)
rescue ArgumentError
return [data, :integer]
end
Let me know what you think, I can cut a PR if you want.