class FitCommit::ValidatorLoader

Attributes

branch_name[RW]
configuration[RW]

Public Class Methods

new(branch_name, configuration = load_configuration) click to toggle source
# File lib/fit_commit/validator_loader.rb, line 5
def initialize(branch_name, configuration = load_configuration)
  self.branch_name = branch_name
  self.configuration = configuration
end

Public Instance Methods

validators() click to toggle source
# File lib/fit_commit/validator_loader.rb, line 10
def validators
  all_validators.select(&:enabled?)
end

Private Instance Methods

all_validators() click to toggle source
# File lib/fit_commit/validator_loader.rb, line 22
def all_validators
  require_all_validators
  FitCommit::Validators::Base.all.map do |validator_class|
    validator_class.new(branch_name, config_for(validator_class))
  end
end
config_for(validator_class) click to toggle source
# File lib/fit_commit/validator_loader.rb, line 42
def config_for(validator_class)
  configuration[validator_class.name] || {}
end
custom_requires() click to toggle source
# File lib/fit_commit/validator_loader.rb, line 34
def custom_requires
  Array(global_settings["Require"])
end
global_settings() click to toggle source
# File lib/fit_commit/validator_loader.rb, line 38
def global_settings
  configuration["FitCommit"] || {}
end
load_configuration() click to toggle source
# File lib/fit_commit/validator_loader.rb, line 18
def load_configuration
  FitCommit::ConfigurationLoader.default_configuration
end
require_all_validators() click to toggle source
# File lib/fit_commit/validator_loader.rb, line 29
def require_all_validators
  paths = Dir[File.dirname(__FILE__) + "/validators/*.rb"] + custom_requires
  paths.each { |file| require file }
end