Это называется тернанрый оператор, в php синтаксис аналогичен С: $action = <условие> ? <вариант1> : <Вариант2>;
В вашем случае: $lol = ret ? ret : 0;
А с версии 5.3 даже: $lol = ret ?: 0;
Это не тернарный оператор. Это просто поведение логических операторов в JS. Для тернарного оператора в JS синтаксис точно такой же, как и в PHP < 5.3.
В JS можно написать "lol = putin || vodka || perestroika || 0;" и он присвоит переменной lol первое true значение либо последнее значение. Так же и в Ruby.