['i', 'can', 'fly', nil, []].join('-')
=> "i-can-fly--"
を
['i', 'can', 'fly', nil, []].select(&:present?).join('-')
=> "i-can-fly"
にする。
[38] pry(main)> "".present?
=> false
[39] pry(main)> "a".present?
=> true
[35] pry(main)> [].present?
=> false
[36] pry(main)> [1].present?
=> true
[37] pry(main)> [nil].present?
=> true
素のRubyだとこう書けた
[47] pry(main)> ['i', 'can', 'fly', nil, []].select{|s| !s.blank? }.join('-')
=> "i-can-fly"