Sha256: 6a760343d50a748ef4f69f4ec77fc9ee5c27f6219b23d6deaf0100a82303924a

Contents?: true

Size: 1.25 KB

Versions: 7

Compression:

Stored size: 1.25 KB

Contents

require 'travis/cli'

module Travis
  module CLI
    class History < RepoCommand
      on('-a', '--after BUILD', 'Only show history after a given build number')
      on('-p', '--pull-request NUMBER', 'Only show history for the given Pull Request')
      on('-b', '--branch BRANCH', 'Only show history for the given branch')
      on('-l', '--limit LIMIT', 'Maximum number of history items')
      on('--[no-]all', 'Display all history items')

      def run
        countdown = Integer(limit || 10) unless all?
        params    = { :after_number => after } if after
        repository.each_build(params) do |build|
          next unless display? build
          display(build)

          if countdown
            countdown -= 1
            break if countdown < 1
          end
        end
      end

      private

        def display?(build)
          return build.pr_number   == pull_request if pull_request
          return build.branch_info == branch       if branch
          true
        end

        def display(build)
          say [
            color("##{build.number} #{build.state}:".ljust(16), [build.color, :bold]),
            color("#{build.branch_info} ", :info),
            build.commit.subject
          ].join.strip + "\n"
        end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
travis-1.5.2 lib/travis/cli/history.rb
travis-1.5.1 lib/travis/cli/history.rb
travis-1.5.0 lib/travis/cli/history.rb
travis-1.4.0 lib/travis/cli/history.rb
travis-1.3.1 lib/travis/cli/history.rb
travis-1.3.0 lib/travis/cli/history.rb
travis-1.2.8 lib/travis/cli/history.rb