class Hash
def append_merge!(key, value)
def append_merge!(key, value) # just return self if value is blank return self if value.blank? current_value = self[key] # just merge if it doesn't already have that key self[key] = value and return if current_value.blank? # raise error if we're trying to merge into something that isn't a string raise ArgumentError, "Can only merge strings" unless current_value.is_a?(String) self[key] = [current_value, value].compact.join(" ") end