class AdLint::Examination
DESCRIPTION¶ ↑
Base of all kinds of source code examinations.
Public Class Methods
catalog()
click to toggle source
# File lib/adlint/exam.rb, line 58 def catalog eval "::#{self.name.sub(/(.*::).*\z/, "\\1")}Catalog" end
new(phase_ctxt)
click to toggle source
# File lib/adlint/exam.rb, line 80 def initialize(phase_ctxt) @phase_ctxt = phase_ctxt end
registrant_phase_class()
click to toggle source
# File lib/adlint/exam.rb, line 45 def registrant_phase_class self.ancestors.each do |klass| if phase_class = @@registrant_phase_classes[klass] return phase_class end end nil end
required?(phase_ctxt)
click to toggle source
# File lib/adlint/exam.rb, line 54 def required?(phase_ctxt) subclass_responsibility end
Private Class Methods
def_registrant_phase(phase_class)
click to toggle source
# File lib/adlint/exam.rb, line 68 def def_registrant_phase(phase_class) @@registrant_phase_classes ||= {} @@registrant_phase_classes[self] = phase_class end
inherited(subclass)
click to toggle source
# File lib/adlint/exam.rb, line 64 def inherited(subclass) subclass.instance_variable_set(:@registrant_phase_class, nil) end
Public Instance Methods
execute()
click to toggle source
# File lib/adlint/exam.rb, line 84 def execute do_prepare(@phase_ctxt) do_execute(@phase_ctxt) end
Private Instance Methods
do_execute(phase_ctxt)
click to toggle source
# File lib/adlint/exam.rb, line 94 def do_execute(phase_ctxt) subclass_responsibility end
do_prepare(phase_ctxt)
click to toggle source
# File lib/adlint/exam.rb, line 90 def do_prepare(phase_ctxt) subclass_responsibility end
suppressors()
click to toggle source
# File lib/adlint/exam.rb, line 122 def suppressors @phase_ctxt[:suppressors] end
targeted_method(name, loc_holder_idx = 0)
click to toggle source
# File lib/adlint/exam.rb, line 98 def targeted_method(name, loc_holder_idx = 0) lambda do |*args| if args[loc_holder_idx].analysis_target?(traits) self.__send__(name, *args) end end end
Also aliased as: T