22.Ruby|presence

フロントから空文字が入ってくるけど、モデルでnilしか受け付けないバリデーションをかけている。
イレギュラーな空文字が入ってくることでエラーが発生するというケースに遭遇。

しかし空文字判定・nil代入をわざわざ条件式を書いて実装したくない…。
そんな時に重宝したのがpresence関数。

[1] pry(main)> ''.presence
=> nil
[2] pry(main)> 100.presence
=> 100

値が入っていればそのまま・空文字など値が入ってない時はデフォルトでnilが返ってくる。
このようなふるい分けをスマートに行なってくれる。
なお純粋なRubyでは使用できず、Rails(Active Support)でしか使用できない点は注意。