class RailsBestPractices::Core::ChecksLoader
Public Class Methods
new(config)
click to toggle source
# File lib/rails_best_practices/core/checks_loader.rb, line 6 def initialize(config) @config = config end
Public Instance Methods
load_lexicals()
click to toggle source
load all lexical checks.
# File lib/rails_best_practices/core/checks_loader.rb, line 11 def load_lexicals load_checks_from_config { |check_name| RailsBestPractices::Lexicals.const_get(check_name) } end
load_reviews()
click to toggle source
load all reviews according to configuration.
# File lib/rails_best_practices/core/checks_loader.rb, line 16 def load_reviews load_checks_from_config do |check_name| RailsBestPractices::Reviews.const_get(check_name.gsub(/Check$/, 'Review')) end end
Private Instance Methods
checks_from_config()
click to toggle source
read the checks from yaml config.
# File lib/rails_best_practices/core/checks_loader.rb, line 25 def checks_from_config @checks ||= YAML.load_file @config end
instantiate_check(block, check_name, options)
click to toggle source
instantiates a check
# File lib/rails_best_practices/core/checks_loader.rb, line 38 def instantiate_check(block, check_name, options) check_class = load_check_class(check_name, &block) check_class&.new(options || {}) end
load_check_class(check_name) { |check_name| ... }
click to toggle source
loads the class for a check by calling the given block
# File lib/rails_best_practices/core/checks_loader.rb, line 44 def load_check_class(check_name) yield(check_name) rescue NameError # nothing to do, the check does not exist end
load_checks_from_config(&block)
click to toggle source
load all checks from the configuration
# File lib/rails_best_practices/core/checks_loader.rb, line 30 def load_checks_from_config(&block) checks_from_config.each_with_object([]) do |check, active_checks| check_instance = instantiate_check(block, *check) active_checks << check_instance unless check_instance.nil? end end