class ViewModel::References

def new_ref!(viewmodel)

Ensure stable reference ids for the same (persisted) viewmodels.
def new_ref!(viewmodel)
  vm_ref = viewmodel.to_reference
  if vm_ref.model_id
    hash = Digest::SHA256.base64digest("#{vm_ref.viewmodel_class.name}.#{vm_ref.model_id}")
    "ref:h:#{hash}"
  else
    format('ref:i:%06<count>d', count: (@last_ref += 1))
  end
end