By the way, instead of using `send` you may use just `-1` or `+1`: `num = num.to_i + sign * amount`, will be in 4 times faster.

```
.0.0p353 :008 > puts Benchmark.measure { 10_000.times { 1.send('-', 1) } }
  0.010000   0.000000   0.010000 (  0.004664)
 => nil
2.0.0p353 :009 > puts Benchmark.measure { 10_000.times { 1 + (-1) * 1 } }
  0.000000   0.000000   0.000000 (  0.001316)
```