Sha256: 8cbcc4b2e7c7098cab528d2f7601185d1369bb8629ac3c0997d591825a70116f

Contents?: true

Size: 1014 Bytes

Versions: 386

Compression:

Stored size: 1014 Bytes

Contents

require 'travis/cli'
require 'launchy'

module Travis
  module CLI
    class Open < RepoCommand
      description "opens a build or job in the browser"

      on('-g', '--github', 'Open the corresponding project, compare view or pull request on GitHub')
      on('-p', '--print',  'Print out the URL instead of opening it in a browser')

      def run(number = nil)
        url = url_for(number)
        if print?
          say url, "web view: %s"
        else
          Launchy.open(url)
        end
      end

      private

        def url_for(number)
          return repo_url unless number
          entity = job(number) || build(number)
          error "could not find job or build #{repository.slug}##{number}" unless entity
          github ? entity.commit.compare_url : "#{repo_url}/#{entity.class.many}/#{entity.id}"
        end

        def repo_url
          "https://#{host}/#{slug}"
        end

        def host
          github ? "github.com" : session.config['host']
        end
    end
  end
end

Version data entries

386 entries across 386 versions & 3 rubygems

Version Path
travis-1.8.12.travis.1101.9 lib/travis/cli/open.rb
travis-1.8.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1098.9 lib/travis/cli/open.rb
travis-1.8.11.travis.1081.9 lib/travis/cli/open.rb
travis-1.8.11.travis.1059.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1058.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1056.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1051.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1048.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1044.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1041.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1040.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1026.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1025.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1024.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1022.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1021.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1020.11 lib/travis/cli/open.rb
travis-1.8.11.travis.1012.9 lib/travis/cli/open.rb
travis-1.8.11.travis.1011.9 lib/travis/cli/open.rb