# frozen_string_literal: true require 'action_view' require 'stringio' module ActionView class Template module Handlers class CSVRbBuilder def default_format Mime[:csv] end def call(template) builder = StringIO.new builder << "require 'csv';" builder << "require 'csv_rb/plain_builder';" builder << "csv ||= CSVRb::PlainBuilder.new;" builder << template.source builder << ";csv = csv.to_str if csv.is_a?(CSVRb::PlainBuilder); csv;" builder.string end def handles_encoding? true end end end end end