class Rohbau::Minitest::Exclude::SpecNuker
Public Class Methods
new(description_name, description_caller)
click to toggle source
# File lib/rohbau/minitest/exclude.rb, line 5 def initialize(description_name, description_caller) spec_class = find_spec_class(description_caller) @description_caller = description_caller @description_name = description_name @description_classes = spec_class.children end
Public Instance Methods
nuke!(it_desc)
click to toggle source
# File lib/rohbau/minitest/exclude.rb, line 12 def nuke!(it_desc) it_method_name = find_it_method(it_desc) if it_method_name.nil? inspected_method = "\"#{@description_caller}\"##{it_desc.inspect}" msg = "Method #{inspected_method} is not defined" return warn(msg) end description_class.send :undef_method, it_method_name end
Private Instance Methods
description_class()
click to toggle source
# File lib/rohbau/minitest/exclude.rb, line 36 def description_class @description_classes.detect do |description_class| description_class.name == @description_name end end
find_it_method(it_desc)
click to toggle source
# File lib/rohbau/minitest/exclude.rb, line 30 def find_it_method(it_desc) description_class.instance_methods.detect do |instance_method| instance_method =~ %r{test_[0-9]+_#{it_desc}} end end
find_spec_class(description_class)
click to toggle source
# File lib/rohbau/minitest/exclude.rb, line 26 def find_spec_class(description_class) description_class.superclass end