class ReeString::Truncate

def call(str, truncate_at, **opts)

def call(str, truncate_at, **opts)
  return str.dup unless str.length > truncate_at
  omission = opts[:omission] || DEFAULT_OMISSION
  length_with_room_for_omission = truncate_at - omission.length
  
  stop = if opts[:separator]
    str.rindex(opts[:separator], length_with_room_for_omission) || length_with_room_for_omission
  else
    length_with_room_for_omission
  end
  +"#{str[0, stop]}#{omission}"
end