Sha256: 7895b74b8b96e4e463f7177617c14fd3c9831b7efd46aacf082548e256292ea9

Contents?: true

Size: 1.7 KB

Versions: 6

Compression:

Stored size: 1.7 KB

Contents

# frozen_string_literal: true

require 'travis/cli'

module Travis
  module CLI
    class Requests < RepoCommand
      description 'lists recent requests'
      on '-l', '--limit LIMIT', 'Maximum number requests to display'

      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? || 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 = "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
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
travis-1.14.0 lib/travis/cli/requests.rb
travis-1.13.3 lib/travis/cli/requests.rb
travis-1.13.2 lib/travis/cli/requests.rb
travis-1.13.1 lib/travis/cli/requests.rb
travis-1.13.0 lib/travis/cli/requests.rb
travis-1.12.0 lib/travis/cli/requests.rb