Class: Apadmi::Grout::AdoIssueClassifier

Inherits:
IssueClassifier show all
Defined in:
lib/apadmi/grout/actions/generate_release_notes_action/issue_classifier.rb

Overview

Ado specific issue classifier

Instance Method Summary collapse

Methods inherited from IssueClassifier

#filter_issues_by_type

Instance Method Details

#classify(issues) ⇒ Object

Parameters:



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/apadmi/grout/actions/generate_release_notes_action/issue_classifier.rb', line 39

def classify(issues)
  unclassified = issues.find_all { |issue| issue.issue_type == Apadmi::Grout::Issue::UNCLASSIFIED_ISSUE_TYPE }
  classified = issues - unclassified
  tasks = filter_issues_by_type(%w[Task], classified)
  features = filter_issues_by_type(["User Story", "Feature"], classified)
  improvements = filter_issues_by_type(["Improvement", "Tech Debt"], classified)
  defects = filter_issues_by_type(%w[Bug], classified)
  ClassifiedIssues.new(
    tasks,
    features,
    improvements,
    defects,
    classified - tasks - features - improvements - defects,
    unclassified
  )
end