class Lariat::IssueWriter

Constants

ISSUE_HEADER
PR_HEADER

Public Class Methods

write_build_stats(stream, build_stats) click to toggle source
# File lib/lariat/issue_writer.rb, line 20
def self.write_build_stats(stream, build_stats)
  stream << "### Sabotage\n"
  stream << "**#{build_stats[:releases_verified]}** Deploys\n"
  stream << "**#{build_stats[:prs_closed]}** PRs closed\n"
end
write_issue(build_stats, top_issues_results, issue_summary_results, issue_category_results, pr_results) click to toggle source
# File lib/lariat/issue_writer.rb, line 6
def self.write_issue(build_stats, top_issues_results, issue_summary_results, issue_category_results, pr_results)
   StringIO.open do |stream|
    write_issue_summary(stream, top_issues_results)
    write_build_stats(stream, build_stats)
    write_stats_summary(stream, issue_summary_results, issue_category_results, pr_results)
    stream.string
  end
end
write_issue_summary(stream, top_issues_results) click to toggle source
# File lib/lariat/issue_writer.rb, line 26
def self.write_issue_summary(stream, top_issues_results)
  top_issues_results.each do |results|
    stream << "# #{results[:title]}\n"
    if results[:issues].count == 0
      stream << "**No Priority 1 Issues**\n"
      next
    end
    results[:issues].each do |issue|
      stream << "* [#{issue[:title]}](#{issue[:html_url]}) #{image_link(issue[:assignee])}\n"
    end
    stream << "\n"
  end
end
write_pr_summary(stream, pr_results) click to toggle source
# File lib/lariat/issue_writer.rb, line 58
def self.write_pr_summary(stream, pr_results)
  stream << "\n"
  stream << "### Pull Requests\n"
  stream << PR_HEADER
  pr_results.each do |pr|
    stream << "#{pr[:total]} | "
  end
end
write_stats_summary(stream, issue_summary_results, issue_category_results, pr_results) click to toggle source
# File lib/lariat/issue_writer.rb, line 40
def self.write_stats_summary(stream, issue_summary_results, issue_category_results, pr_results)
  stream <<  "## Week in Review\n"
  stream <<  "### Issues\n"

  issue_summary_results.each do |issue|
    stream << "**#{issue[:total]}** #{issue[:title]}\n"
  end

  stream << "#### Issue Breakdown\n"
  stream << ISSUE_HEADER
  issue_category_results.each do |summary|
    values = summary.values.flatten
    stream << "#{summary.keys.first} | #{values[0]} | #{values[1]} | #{values[2]}\n"
  end

  write_pr_summary(stream, pr_results)
end