Sha256: 944843582ee6757ce00031132c172610bf01df900d285e967870a97aef557900
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require 'rugged' require_relative 'pronto/rugged/diff' require_relative 'pronto/rugged/diff/delta' require_relative 'pronto/rugged/diff/patch' require_relative 'pronto/rugged/diff/line' require_relative 'pronto/rugged/tree' require_relative 'pronto/rugged/remote' require_relative 'pronto/rugged/repository' require 'pronto/plugin' require 'pronto/message' require 'pronto/runner' require 'pronto/formatter/text_formatter' require 'pronto/formatter/json_formatter' require 'pronto/formatter/github_formatter' require 'pronto/formatter/formatter' module Pronto def self.run(commit = 'master', repo_path = '.', formatter = nil) patches = diff(repo_path, commit) result = run_all_runners(patches) formatter ||= default_formatter formatter.format(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.exists?(runner_path) end end gems.map { |gem| gem.name.sub(/^pronto-/, '') } .uniq .sort end private def self.diff(repo_path, commit) repo = Rugged::Repository.new(repo_path) commit ||= 'master' repo.diff(commit, repo.head.target) end def self.run_all_runners(patches) Runner.runners.map do |runner| runner.new.run(patches) end.flatten.compact end def default_formatter Formatter::TextFormatter.new end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pronto-0.1.3 | lib/pronto.rb |