Ruby's take_while() ported using new Swift 2.0 protocol extensions | Heykuki News