lib/todoist/diff_todo_finder.rb in danger-todoist-0.1.0 vs lib/todoist/diff_todo_finder.rb in danger-todoist-0.2.0

- old
+ new

@@ -2,24 +2,25 @@ # Identify todos in a set of diffs class DiffTodoFinder TODO_REGEXP = / ^\+ # we only look at additions, marked by + in diffs \s* # followed by optional space - [^a-z0-9]* # anything looking like a comment indicator + [^a-z0-9\+]* # anything looking like a comment indicator, not a + \s+ # followed by at least one space (TODO|FIXME) # our todo indicator [\s:]{1} # followed by a space or colon (?<text>.*)$ # matching any text until the end of the line /ix def find_diffs_containing_todos(diffs) todos = [] diffs.each do |diff| - matches = diff.patch.match(TODO_REGEXP) - next if matches.nil? + matches = diff.patch.scan(TODO_REGEXP) + next if matches.empty? - text = matches[1] if matches[1] - todos << Todo.new(diff.path, text.strip) + matches.each do |match| + todos << Todo.new(diff.path, match.first.strip) + end end todos end class Todo < Struct.new(:file, :text)