lib/schizo/facade/object_builder.rb in schizo-0.1.3 vs lib/schizo/facade/object_builder.rb in schizo-0.2.0

- old
+ new

@@ -33,14 +33,18 @@ # This is to get nesting to work. Because each facade keeps a reference to the object # it's facading for, we can traverse nested facades. Each time we find one, we extend # its role into facade we're building. previous_facade = object while previous_facade.respond_to?(:dci) - facade.extend(previous_facade.dci.role) + if previous_facade.dci.role.is_a?(Schizo::Role) + facade.extend(previous_facade.dci.role) + end previous_facade = previous_facade.dci.object end - - facade.extend(role) + + if role.is_a?(Schizo::Role) + facade.extend(role) + end Schizo::Facade.copy_instance_variables(object, facade) end end end