Tar archive extract to buffer and offer for view / download

I want to open a tar.gz archive and display the content as a folder
structure and offer possibility to download and view the content. The
archive should not be compressed to a folder but only to a buffer.

Helper:
  require 'tarruby'
  def testFu
    File.directory?(log_folder) or return "Log folder '#{log_folder}'
doesn't exist."
    log_archive = File.expand_path(@log.log_archive,log_folder)
    # a hash which i probably can access from my view
    $result = Hash.new
    Tar.gzopen(log_archive, File::RDONLY, 0644, Tar::GNU |
Tar::VERBOSE) do |tar|
      tar.each do
        if tar.reg? # regular file
          buf = tar.extract_buffer
          $result[tar.pathname] = buf
        end
      end
    end
  end

View:
  <div class="rightbox">
    <h1><%= File.basename(@log.log_archive) %></h1>
      <testFu />
      <% $result.each do |key, value| %>
        <li><%= key %></li>
        <!-- how to offer view / download options for the buffer ??? --

      <% end %>
  </div>

Is my approach rails compliant? How can I add a download link (from
the buffer) and offer possibilty to view the buffer on click in a
popup window?

Best regards,
Sebastian