жешь сделать это в рубине? кажется, что "пропустить" случаи с неравенствами
case myvar
when myvar < -5
do somethingA
when -5..-3
do special_something_XX
when -2..-1
do special_something_YY
when myvar == 0
do somethingB
when myvar > 0
go somethingC
end