Method: I18nliner::CallHelpers#normalize_whitespace

Defined in:
lib/i18nliner/call_helpers.rb

#normalize_whitespace(default, options) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/i18nliner/call_helpers.rb', line 21

def normalize_whitespace(default, options)
  return default unless default.is_a?(String) || default.is_a?(Hash) || default.is_a?(Array)

  default = default.dup

  if default.is_a?(Hash)
    default.each { |key, value| default[key] = normalize_whitespace(value, options) }
    return default
  elsif default.is_a?(Array)
    return default.map{|value| value.is_a?(String) ? normalize_whitespace(value, options) : value}
  end

  if options[:remove_whitespace]
    default.gsub!(/\s+/, ' ')
    default.strip!
  else
    default.sub!(/\s*\n\z/, '')
    default.lstrip!
  end
  default
end