Sha256: 4c638ce460fc2b3580ee48fe9ab2142a216fbb5be1f3311ac8089dea154b5445
Contents?: true
Size: 1.44 KB
Versions: 17
Compression:
Stored size: 1.44 KB
Contents
require 'pronto' require 'rake' require 'rake/tasklib' module Pronto module RakeTask # Provides a custom rake task to use with Travis. # # require 'rubocop/rake/travis_pull_request' # Pronto::Rake::TravisPullRequest.new class TravisPullRequest < Rake::TaskLib attr_accessor :name attr_accessor :verbose def initialize(*args, &task_block) setup_ivars(args) unless ::Rake.application.last_comment desc 'Run Pronto on Travis Pull Request' end task(name, *args) do |_, task_args| RakeFileUtils.send(:verbose, verbose) do yield(*[self, task_args].slice(0, task_block.arity)) if task_block run_task end end end def run_task return if pull_id.nil? || pull_id == 'false' pull_request = client.pull_request(repo_slug, pull_id) formatter = ::Pronto::Formatter::GithubFormatter.new gem_names = ::Pronto::GemNames.new.to_a gem_names.each { |gem_name| require "pronto/#{gem_name}" } ::Pronto.run(pull_request.base.sha, '.', formatter) end private def client Octokit::Client.new end def pull_id ENV['TRAVIS_PULL_REQUEST'] end def repo_slug ENV['TRAVIS_REPO_SLUG'] end def setup_ivars(args) @name = args.shift || :pronto_travis_pull_request @verbose = true end end end end
Version data entries
17 entries across 17 versions & 1 rubygems