Sha256: 84445db87420d1fe4a7464482e9920f7bf6ff45a13d7bb70d292e9d5f92f49b0
Contents?: true
Size: 1022 Bytes
Versions: 6
Compression:
Stored size: 1022 Bytes
Contents
# frozen_string_literal: true 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
6 entries across 6 versions & 1 rubygems