def cleanup_array(input_array, options = {})
arr_data = input_array.compact.uniq
all_integers = arr_data.all? {|el| el.is_a?(Integer) rescue false }
sort_key = options[:sort_key]
arr_data.sort_by! do |val|
if sort_key
sort_key.call(val)
elsif all_integers
val.to_i
elsif e.to_a?(Array)
e.map(&:to_s).join('_')
else
val.to_s
end
end
arr_data.reverse! if options[:order] == :desc
arr_data
end
ZGVmIGNsZWFudXBfYXJyYXkoaW5wdXRfYXJyYXksIG9wdGlvbnMgPSB7fSkKICBhcnJfZGF0YSA9IGlucHV0X2FycmF5LmNvbXBhY3QudW5pcQoKICBhbGxfaW50ZWdlcnMgPSBhcnJfZGF0YS5hbGw/IHt8ZWx8IGVsLmlzX2E/KEludGVnZXIpIHJlc2N1ZSBmYWxzZSB9CiAgc29ydF9rZXkgPSBvcHRpb25zWzpzb3J0X2tleV0KCglhcnJfZGF0YS5zb3J0X2J5ISBkbyB8dmFsfAoJICBpZiBzb3J0X2tleQoJICAgICBzb3J0X2tleS5jYWxsKHZhbCkKCSAgZWxzaWYgYWxsX2ludGVnZXJzCgkgICAgIHZhbC50b19pCgkgIGVsc2lmIGUudG9fYT8oQXJyYXkpCgkgICAgIGUubWFwKCY6dG9fcykuam9pbignXycpCgkgIGVsc2UKCSAgICB2YWwudG9fcwoJICBlbmQKCWVuZAoJYXJyX2RhdGEucmV2ZXJzZSEgaWYgb3B0aW9uc1s6b3JkZXJdID09IDpkZXNjCglhcnJfZGF0YQoKZW5kCg==