def columns(table_name)
      table_name = table_name.to_s

      @columns ||= {}
      @columns[table_name] ||= if @registration[:columns].present?
                                 @registration[:columns].call(@connection, table_name)
                               else
                                 @connection.columns(table_name)
                               end
    end
def columns(table_name)
      table_name = table_name.to_s

      @columns ||= {}
      @columns[table_name] ||= if @registration[:columns].present?
                                 @registration[:columns].call(@connection, table_name)
                               else
                                 @connection.columns(table_name)
                               end
    end
Returns a list of columns for the given table.

 If a matching Automodel::SchemaInspector registration is found for the connection's adapter,
 and that registration specified a `:columns` Proc, the Proc is called. Otherwise, the
 standard connection `#columns` is returned.


 @param table_name [String]
   The table whose columns should be fetched.


 @return [Array<ActiveRecord::ConnectionAdapters::Column>]