lib/reek/smells/smell_detector.rb in reek-3.2 vs lib/reek/smells/smell_detector.rb in reek-3.2.1

- old
+ new

@@ -36,22 +36,17 @@ EXCLUDE_KEY => DEFAULT_EXCLUDE_SET.dup } end def inherited(subclass) - subclasses << subclass + @subclasses ||= [] + @subclasses << subclass end def descendants - subclasses + @subclasses end - - private - - def subclasses - @subclasses ||= [] - end end def smell_category self.class.smell_category end @@ -81,29 +76,29 @@ @config = SmellConfiguration.new(config) @smells_found = [] end def register(hooks) - return unless config.enabled? + return unless @config.enabled? self.class.contexts.each { |ctx| hooks[ctx] << self } end # SMELL: Getter (only used in 1 test) def enabled? - config.enabled? + @config.enabled? end - def configure_with(new_config) - config.merge!(new_config) + def configure_with(config) + @config.merge!(config) end def examine(context) return unless enabled_for? context return if exception?(context) sm = examine_context(context) - self.smells_found += sm + @smells_found += sm end def enabled_for?(context) enabled? && config_for(context)[SmellConfiguration::ENABLED_KEY] != false end @@ -111,26 +106,18 @@ def exception?(context) context.matches?(value(EXCLUDE_KEY, context, DEFAULT_EXCLUDE_SET)) end def report_on(report) - smells_found.each { |smell| smell.report_on(report) } + @smells_found.each { |smell| smell.report_on(report) } end def value(key, ctx, fall_back) - config_for(ctx)[key] || config.value(key, ctx, fall_back) + config_for(ctx)[key] || @config.value(key, ctx, fall_back) end def config_for(ctx) ctx.config_for(self.class) end - - protected - - attr_writer :smells_found - - private - - private_attr_reader :config end end end