おがたです。
super もどきをつくって解決できました。

class Parent
  def return_self
    return self
  end
end

class Child
  def initialize(_parent=Parent)
    @parent = _parent.new
  end

  def return_self
    at_parent
  end

  def at_parent(*_arg)
    if /\`(.*?)\'/ === caller(1)[0]
      _ret = ( _arg.size == 0 ? @parent.send($1) : @parent.send($1,*_arg))
      _ret = self if _ret == @parent
    end
  end
end

---------------------------------------------------
Kenya Ogata 
E-mail   k_ogata / mbd.nifty.com
HomePage http://homepage1.nifty.com/~k_ogata/ruby/diary.html