Ruby’s case statement is genrally written with a comparison value behind it.
However, it is possible create a case statement without comparison value. In that case, it is equivalent in functionality to an if elsif else conditional.
case
when number % 3 == 0 && number % 5 == 0
'FizzBuzz'
when number % 5 == 0
'Buzz'
when number % 3 == 0
'Fizz'
else
number
end
Rubocop however, recommand to use an if expression:
Style/EmptyCaseCondition: Do not use empty case condition, instead use an if
expression.if number % 3 == 0 && number % 5 == 0
'FizzBuzz'
elsif number % 5 == 0
'Buzz'
elsif number % 3 == 0
'Fizz'
else
number
end