class Pronto::Formatter::GithubStatusFormatter

Public Class Methods

name() click to toggle source
# File lib/pronto/formatter/github_status_formatter.rb, line 6
def self.name
  'github_status'
end

Public Instance Methods

format(messages, repo, _) click to toggle source
# File lib/pronto/formatter/github_status_formatter.rb, line 10
def format(messages, repo, _)
  client = Github.new(repo)
  head = repo.head_commit_sha

  messages_by_runner = messages.uniq.group_by(&:runner)

  Runner.runners.each do |runner|
    create_status(client, head, runner, messages_by_runner[runner] || [])
  end
end

Private Instance Methods

create_status(client, sha, runner, messages) click to toggle source
# File lib/pronto/formatter/github_status_formatter.rb, line 23
def create_status(client, sha, runner, messages)
  builder = StatusBuilder.new(runner, messages)
  status = Status.new(sha, builder.state,
                      builder.context, builder.description)

  client.create_commit_status(status)
end