# ruby
people.compact # nil
people.reject { |c| c&.empty? } # '', {}, []
people.compact.reject(&:empty?) # nil, '', {}, []
people - ['', nil, {}, []] # nil, '', {}, []
people.select(&:present?) # nil, '', ' ', {}, []
# rails 6.1+
people.compact_blank # nil, '', ' ', {}, []
# examples
people = ['David', nil, 'Lisa', '', 'Bob', ' ', 'Jane', {}, 'Andrew', [], 'Sally']
puts people.compact.join(', ')
# => David, Lisa, , Bob, , Jane, {}, Andrew, , Sally nil
puts people.reject { |c| c&.empty? }.join(', ')
# => David, , Lisa, Bob, , Jane, Andrew, Sally
puts people.compact.reject(&:empty?).join(', ')
# => David, Lisa, Bob, , Jane, Andrew, Sally
puts (people - ['', nil, {}, []]).join(', ')
# => David, Lisa, Bob, , Jane, Andrew, Sally
puts people.select(&:present?).join(', ')
# => David, Lisa, Bob, Jane, Andrew, Sally