class Danger::DiffInlineTodoFinder

Identify inline todos in a set of diffs

Public Class Methods

new(keywords) click to toggle source
# File lib/todoist/diff_inline_todo_finder.rb, line 4
def initialize(keywords)
  @keywords = keywords
end

Public Instance Methods

call(diffs) click to toggle source
# File lib/todoist/diff_inline_todo_finder.rb, line 8
def call(diffs)
  diffs.map do |diff|
    diff.patch.scan(/\+ .{3,}(#{keywords})[\s:]{1}(.+)$/).map do |match|
      Todo.new(diff.path, match[1].strip)
    end
  end.flatten
end

Private Instance Methods

keywords() click to toggle source
# File lib/todoist/diff_inline_todo_finder.rb, line 18
def keywords
  @keywords.join("|")
end