class CanvasSync::Importers::BulkImporter::UserRowBuffer

is to sync and use the Pseudonymes table
This is mainly to fix issues in legacy apps - the suggested approach for new apps
Ensures that, if a User has multiple rows, one with a SIS ID is preferred.

def <<(v)

def <<(v)
  flush if @buffered_rows[0] && @buffered_rows[0][:canvas_user_id] != v[:canvas_user_id]
  super
end

def flush

def flush
  row = @buffered_rows.find{|r| r[:user_id].present? } || @buffered_rows.last
  super(row.present? ? [row] : [])
end