module MultiTenant::CopyFromClient

Public Instance Methods

copy_from_client(columns, &block) click to toggle source
# File lib/activerecord-multi-tenant/copy_from_client.rb, line 19
def copy_from_client(columns, &block)
  conn         = connection.raw_connection
  column_types = columns.map { |c| columns_hash[c.to_s] }
  helper = MultiTenant::CopyFromClientHelper.new(conn, column_types)
  conn.copy_data %{COPY #{quoted_table_name}("#{columns.join('","')}") FROM STDIN}, PG::TextEncoder::CopyRow.new do
    block.call helper
  end
  helper.count
end