Class: Danger::DiffInlineTodoFinder

Inherits:
Object
  • Object
show all
Defined in:
lib/todoist/diff_inline_todo_finder.rb

Overview

Identify inline todos in a set of diffs

Instance Method Summary collapse

Constructor Details

#initialize(keywords) ⇒ DiffInlineTodoFinder

Returns a new instance of DiffInlineTodoFinder.



4
5
6
# File 'lib/todoist/diff_inline_todo_finder.rb', line 4

def initialize(keywords)
  @keywords = keywords
end

Instance Method Details

#call(diffs) ⇒ Object



8
9
10
11
12
13
14
# 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