def row_class
      report_columns = viable_report_columns
      @row_class ||= Class.new do
        report_columns.each do |report_column|
          attr_accessor report_column.column_name.to_sym
        end

        def initialize params = {}
          params.each { |key, value| send "#{key}=", value }
        end

        def [](key)
          self.send key
        end
      end
    end
def row_class
      report_columns = viable_report_columns
      @row_class ||= Class.new do
        report_columns.each do |report_column|
          attr_accessor report_column.column_name.to_sym
        end

        def initialize params = {}
          params.each { |key, value| send "#{key}=", value }
        end

        def [](key)
          self.send key
        end
      end
    end
This ephemeral class allows us to create a row object that has the same attributes as the AR response
 to the query, including all the custom columns defined in the resource class report config.
 currently only used for the summary row, since we can't get that in the same AR query and have to
 add it to the collection after the query returns.