Tmail ライブラリを使用していますが、電子メール内の添付ファイルごとに、attachment.content_type を実行すると、コンテンツ タイプだけでなく名前も取得されることがあります。例:
image/jpeg; name=example3.jpg
image/jpeg; name=example.jpg
image/jpeg; name=photo.JPG
image/png
次のような有効なコンテンツ タイプの配列があります。
VALID_CONTENT_TYPES = ['image/jpeg']
コンテンツ タイプが有効なコンテンツ タイプの配列要素のいずれかに含まれているかどうかを確認できるようにしたいと考えています。
Ruby でこれを行う最善の方法は何でしょうか?
それを実現するには複数の方法があります。 Enumerable#any? を使用して、一致するものが見つかるまで各文字列をチェックできます。
str = "alo eh tu"
['alo','hola','test'].any? { |word| str.include?(word) }
ただし、文字列の配列を正規表現に変換する方が速いかもしれません。
words = ['alo','hola','test']
r = /#{words.join("|")}/ # assuming there are no special chars
r === "alo eh tu"