2017-10-28 15:15:48 +00:00
|
|
|
module ModuleSpecs
|
|
|
|
class ClassWithFoo
|
|
|
|
def foo; "foo" end
|
|
|
|
end
|
|
|
|
|
2020-07-27 21:41:08 +02:00
|
|
|
class ClassWithSuperFoo
|
|
|
|
def foo; [:C] end
|
|
|
|
end
|
|
|
|
|
2017-10-28 15:15:48 +00:00
|
|
|
module PrependedModule
|
|
|
|
def foo; "foo from prepended module"; end
|
|
|
|
end
|
|
|
|
|
|
|
|
module IncludedModule
|
|
|
|
def foo; "foo from included module"; end
|
|
|
|
end
|
2020-06-27 15:51:37 +02:00
|
|
|
|
2020-07-27 21:41:08 +02:00
|
|
|
def self.build_refined_class(for_super: false)
|
|
|
|
if for_super
|
|
|
|
Class.new(ClassWithSuperFoo)
|
|
|
|
else
|
|
|
|
Class.new(ClassWithFoo)
|
|
|
|
end
|
2020-06-27 15:51:37 +02:00
|
|
|
end
|
2017-10-28 15:15:48 +00:00
|
|
|
end
|