Ruby で -"42" としたら -42 が返ってきてほしい

class String
    def -@
        -to_i
    end
end

p -"42"
# => -42

お気持ちです。