4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'foobara-spec-helpers-0.0.4/lib/foobara/spec_helpers/class.rb', line 4
def stub_class(name, superclass = nil, which: :class, &)
name = name.to_s if name.is_a?(::Symbol)
unless metadata.key?(:foobara_stubbed_modules)
set = metadata[:foobara_stubbed_modules] = Set.new
after do
names = set.sort_by { |s| -s.count(":") }
names.each do |module_name|
Foobara::Util.remove_constant(module_name)
end
set.clear
end
end
metadata[:foobara_stubbed_modules] << name
Foobara::Util.make_class(name, superclass, which:, &)
end
|