Ruby
By @Damian Borchert