1. #!/usr/bin/env ruby
  2.  
  3. messages = [
  4. "jotain cisco heippa hei",
  5. "aivan muuta juniper joooko",
  6. "arbua testiä myös",
  7. ]
  8.  
  9. conds = {
  10. ios: /cisco/,
  11. jnpr: "juniper",
  12. aruba: /aruba/,
  13. }
  14.  
  15. messages_parsed = messages.map do |message|
  16. solution = conds.reduce(nil) do |_, (_type, matcher)|
  17. found_index = message.index(matcher)
  18. break [matcher, message[found_index..-1]] if found_index
  19. end
  20.  
  21. solution || [nil, nil]
  22. end
  23. puts messages_parsed