compact_blank
#rails
compact_blankを使うと配列やハッシュからblankな値を取り除くことができる
code:ruby
array = [nil, "", "hello", [], {}, " ", false, true, 42]
result = array.compact_blank
# => "hello", true, 42
code:ruby
hash = { a: nil, b: "", c: "ruby", d: [], e: {}, f: false, g: true }
result = hash.compact_blank
# > {:c=>"ruby", :g=>true}
https://api.rubyonrails.org/v7.2/classes/Enumerable.html#method-i-compact_blank
Railsの内部実装
code:ruby
def compact_blank
reject(&:blank?)
end
https://github.com/rails/rails/blob/d0dcb8fa6073a0c4d42600c15e82e3bb386b27d3/activesupport/lib/active_support/core_ext/enumerable.rb#L184
instance method Enumerable#reject
https://docs.ruby-lang.org/ja/latest/method/Enumerable/i/reject.html