Module: Guideline::AbcComplexityChecker::Moduleable

Included in:
AbcParser
Defined in:
lib/guideline/checkers/abc_complexity_checker.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/guideline/checkers/abc_complexity_checker.rb', line 40

def self.included(base)
  base.class_eval do
    interesting_nodes :class, :module

    add_callback :start_class do |node|
      modules << node.class_name.to_s
    end

    add_callback :start_module do |node|
      modules << node.module_name.to_s
    end

    add_callback :end_class do |node|
      modules.pop
    end

    add_callback :end_module do |node|
      modules.pop
    end
  end
end

Instance Method Details

#current_module_nameObject



62
63
64
# File 'lib/guideline/checkers/abc_complexity_checker.rb', line 62

def current_module_name
  modules.join("::")
end

#modulesObject



66
67
68
# File 'lib/guideline/checkers/abc_complexity_checker.rb', line 66

def modules
  @moduels ||= []
end