module CmAdmin::Utils
def serialize_csv_columns(*columns, **hashes)
def serialize_csv_columns(*columns, **hashes) # Turns an arbitrary list of args and kwargs into a list of params to be used in a form # For example, turns CmAdmin::Utils.serialize_csv_columns(:a, :b, c: [:d, e: :h], f: :g) # into [:a, :b, "c/d", "c/e/h", "f/g"] columns.map(&:to_s) + hashes.map do |key, value| serialize_csv_columns(*value).map do |column| "#{key}/#{column}" end end.reduce([], :+) end