Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
app/helpers/navbar_helper.rb

Instance Method Summary collapse

Instance Method Details

#append_merge!(key, value) ⇒ Object

appends a string to a hash key’s value after a space character (Good for merging CSS classes in options hashes)

Raises:

  • (ArgumentError)


183
184
185
186
187
188
189
190
191
192
193
# File 'app/helpers/navbar_helper.rb', line 183

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