Why not just pass the parent in?
class Helper
def initialize(parent)
@parent = parent
end
def complexStuff
puts @parent.name # Parent object name
end
end
class Main
attr_accessor :name
def initialize( name )
@name = name
@helper = Helper.new(self)
end
def update
puts "[(#{name}).update]"
@helper.complexStuff
end
end
instance1 = Main.new( "Instance 1" )
instance2 = Main.new( "Instance 2" )
instance1.update
instance2.update