Código ruby do dia!

A classe Signal do ruby como o próprio nome diz, permite “manipular” sinais. Sendo assim, ela nos possibilita fazer experiências legais como saber quando a tela do terminal foi redimensionada.

Para fazer este teste execute o seguinte trecho de código dentro de uma sessão do IRB.

Signal.trap('SIGWINCH', proc{ puts "The terminal size changed... Yay!"})

Agora redimensione a janela e veja a mensagem dentro do proc aparecer a cada resize. Ruby é muito amor! ;)

Edit: Brincadeiras legais de se fazer no IRB! Para matar o processo utilize o comando kill -9 ou Control \ (que é o SIGQUIT).

Signal.trap('SIGINT', proc{ puts "It's a TRAP!!! Muahahahaha!!!"})
Signal.trap('SIGTSTP', proc{ puts "You CAN'T suspend me, I love you honey!"})
Signal.trap('SIGWINCH', proc{ puts "The terminal size changed... Yay!"})