lib/pronto.rb in pronto-0.5.3 vs lib/pronto.rb in pronto-0.6.0

- old
+ new

@@ -1,10 +1,13 @@ require 'rugged' require 'octokit' require 'gitlab' require 'forwardable' +require 'pronto/gem_names' + +require 'pronto/logger' require 'pronto/config_file' require 'pronto/config' require 'pronto/git/repository' require 'pronto/git/patches' @@ -27,33 +30,22 @@ require 'pronto/formatter/null_formatter' require 'pronto/formatter/formatter' module Pronto def self.run(commit = 'master', repo_path = '.', - formatter = Formatter::TextFormatter.new, file = nil) + formatters = [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 + Array(formatters).each do |formatter| + formatted = formatter.format(result, repo, patches) + puts formatted if formatted end - gems.map { |gem| gem.name.sub(/^pronto-/, '') }.uniq.sort + result end end