Module: ClassSpecHelper::DestroyClasses

Included in:
ClassSpecHelper
Defined in:
lib/class_spec_helper/destroy_classes.rb

Instance Method Summary collapse

Instance Method Details

#destroy_class(klass) ⇒ Object

destroy the class by removing the constant



17
18
19
20
21
22
23
24
# File 'lib/class_spec_helper/destroy_classes.rb', line 17

def destroy_class klass
  fully_qualified_class_name = klass.name
  # get the namespace and class name from the fully qualified class name
  namespace = namespace_from_name fully_qualified_class_name
  class_name = class_name_from_name fully_qualified_class_name
  # remove the constant from the namespace
  namespace.send :remove_const, class_name
end

#remove_all_dynamically_created_classesObject

remove any classes (constants) which were created by the class helper



7
8
9
10
11
12
13
14
# File 'lib/class_spec_helper/destroy_classes.rb', line 7

def remove_all_dynamically_created_classes
  @classes.each do |fully_qualified_class_name, klass|
    # destroy the class by removing the constant
    destroy_class klass
    # remove the class from the list of classes
    @classes.delete fully_qualified_class_name.to_sym
  end
end