Sha256: ae98f7ea9c59924c54a7d49f20358892b7ab0ea5efe5f3e6b374e5f560886991

Contents?: true

Size: 1.5 KB

Versions: 4

Compression:

Stored size: 1.5 KB

Contents

require 'rugged'
require 'octokit'
require 'gitlab'
require 'forwardable'

require 'pronto/config_file'
require 'pronto/config'

require 'pronto/git/repository'
require 'pronto/git/patches'
require 'pronto/git/patch'
require 'pronto/git/line'

require 'pronto/plugin'
require 'pronto/message'
require 'pronto/runner'
require 'pronto/runners'
require 'pronto/github'
require 'pronto/gitlab'

require 'pronto/formatter/text_formatter'
require 'pronto/formatter/json_formatter'
require 'pronto/formatter/github_formatter'
require 'pronto/formatter/github_pull_request_formatter'
require 'pronto/formatter/gitlab_formatter'
require 'pronto/formatter/checkstyle_formatter'
require 'pronto/formatter/null_formatter'
require 'pronto/formatter/formatter'

module Pronto
  def self.run(commit = 'master', repo_path = '.',
               formatter = Formatter::TextFormatter.new, file = nil)
    commit ||= 'master'

    repo = Git::Repository.new(repo_path)
    options = { paths: [file] } if file
    patches = repo.diff(commit, options)

    result = Runners.new.run(patches)

    formatted = formatter.format(result, repo, patches)
    puts formatted if formatted

    result
  end

  def self.gem_names
    gems = Gem::Specification.find_all.select do |gem|
      if gem.name =~ /^pronto-/
        true
      elsif gem.name != 'pronto'
        runner_path = File.join(gem.full_gem_path, "lib/pronto/#{gem.name}.rb")
        File.exist?(runner_path)
      end
    end

    gems.map { |gem| gem.name.sub(/^pronto-/, '') }.uniq.sort
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pronto-0.5.3 lib/pronto.rb
pronto-0.5.2 lib/pronto.rb
pronto-0.5.1 lib/pronto.rb
pronto-0.5.0 lib/pronto.rb