class Travis::CLI::Requests

def run

def run
  requests = repository.requests
  requests = requests[0, Integer(limit)] if limit
  requests.each do |request|
    style ||= :success if request.accepted?
    style ||= :error   if request.rejected?
    style ||= :info
    case request.event_type
    when 'push'
      result      = request.result || "received"
      message     = request.message
      message   ||= "validation pending"  unless request.rejected? or request.accepted?
      message   ||= "unknown reason"      unless request.accepted?
      message   ||= "triggered new build" unless request.rejected?
      description = "push to #{request.branch || request.tag || "???"}"
    when 'pull_request'
      result      = request.result || "received"
      message     = request.message
      message   ||= "HEAD commit not updated" unless request.accepted?
      message   ||= "triggered new build"     unless request.rejected?
      description = "push to #{request.branch || request.tag || "???"}"
      description = "PR ##{request.pull_request_number}"
    end
    say [
      color(description, [:bold, style]),
      color(result, style),
      color("(#{message})", style)
    ].join(" ").strip + "\n"
    say "  " + color(request.commit.short_sha, :bold) + " - " + request.commit.subject if request.commit
    say "  received at: #{formatter.time(request.created_at)}"
    empty_line
  end
end