Class: Picard::Preprocessor

Inherits:
Object show all
Defined in:
lib/picard/preprocessor.rb

Instance Method Summary collapse

Constructor Details

#initialize(class_ripper = ClassRipper.new, method_ripper = MethodRipper.new) ⇒ Preprocessor

Returns a new instance of Preprocessor.



5
6
7
8
9
# File 'lib/picard/preprocessor.rb', line 5

def initialize class_ripper = ClassRipper.new, method_ripper = MethodRipper.new
  @class_ripper = class_ripper
  @method_ripper = method_ripper
  @preprocessed_methods = []
end

Instance Method Details

#preprocess_class(clazz) ⇒ Object



11
12
13
14
15
16
# File 'lib/picard/preprocessor.rb', line 11

def preprocess_class clazz
  all_test_methods = @class_ripper.all_test_method_names(clazz)
  all_test_methods.each do |m|
    preprocess_method clazz, m
  end
end

#preprocess_method(clazz, method_name) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/picard/preprocessor.rb', line 18

def preprocess_method clazz, method_name
  return if preprocessed?(method_name)
  return unless @class_ripper.test_method?(method_name)
  
  mark_as_preprocessed method_name
  replace_method_with_preprocessed! clazz, method_name
end