# File lib/action_controller/caching.rb, line 272
      def cache_erb_fragment(block, name = {}, options = nil)
        unless perform_caching then block.call; return end
        
        buffer = eval("_erbout", block.binding)

        if cache = read_fragment(name, options)
          buffer.concat(cache)
        else
          pos = buffer.length
          block.call
          write_fragment(name, buffer[pos..-1], options)
        end
      end