class Hash

def append_merge!(key, value)

appends a string to a hash key's value after a space character (Good for merging CSS classes in options hashes)
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