# File lib/mixins/nestable.rb, line 3 def nests(mapping) # Setup an accessor for all nested instances. attr_accessor *mapping.keys # Create a nested instance automatically on initialize. define_method(:initialize) do |arguments = nil| mapping.each do |attribute, klass| self.instance_variable_set "@#{attribute}".to_sym, klass.new end super arguments if arguments end end