class Git::Cop::Runner
Attributes
collector[R]
configuration[R]
Public Class Methods
new(configuration:, collector: Collector.new)
click to toggle source
# File lib/git/cop/runner.rb, line 6 def initialize configuration:, collector: Collector.new @configuration = configuration @collector = collector end
Public Instance Methods
run(commits: Branches::Feature.new.commits)
click to toggle source
# File lib/git/cop/runner.rb, line 11 def run commits: Branches::Feature.new.commits Array(commits).map { |commit| check commit } collector end
Private Instance Methods
check(commit)
click to toggle source
# File lib/git/cop/runner.rb, line 26 def check commit cops = configuration.map { |id, settings| load_cop id, commit, settings } cops.select(&:enabled?).map { |cop| collector.add cop } end
load_cop(id, commit, settings)
click to toggle source
# File lib/git/cop/runner.rb, line 20 def load_cop id, commit, settings klass = Styles::Abstract.descendants.find { |descendant| descendant.id == id } fail(Errors::Base, "Invalid cop: #{id}. See docs for supported cops.") unless klass klass.new commit: commit, settings: settings end