Shouldn't this be:

gears = scaled_gears[(scaled_gears.length + scale_change)..-1]