enumerize gemについて
Ruby on Railsでenumを使いたい時に便利なGem
https://github.com/brainspec/enumerize
ざっくり使い方
class User
extend Enumerize
enumerize :role, in: [:user, :admin, :staff]
end
本題: optionsを絞り込みたい場合
enumerizeのoptionsを使用してkey, valueの構造を取得する場合に任意の項目を除外または指定した項目だけを取得したい場合には以下のように指定します。
除外したい場合
User.status.options(except: [:admin])
# => user, staffが取れる
指定した項目だけ取得したい場合
User.status.options(only: [:user])
# => userのみが取れる
まとめ
以上、雑ですが忘れそうなのでメモ残します。
ちなみにライブラリの実装追いました。
この辺でオプションの使い方が分かります。
https://github.com/brainspec/enumerize/blob/master/lib/enumerize/attribute.rb#L66-L70