メールアドレスの一部を非表示にする

概要

ルビを使用してメールアドレスの@記号の前の4文字を非表示にする最善の方法は何ですか?

[email protected] = fake####@example.com 

これは、お客様の声のリストを表示するときにビューで使用されますが、アドレス全体を表示したくないのです。

私の遠回りの試み:

name = '[email protected]'.split("@")[0]
email = '[email protected]'.split("@")[1]
new_address = name [0..-4] + "@" + email

解決策

[email protected] のような短い名前も処理できる以下を試してください。

'[email protected]'.gsub(/.{0,4}@/, '####@')