Module: ActiveSupport::CoreExtensions::String::Filters

Included in:
String
Defined in:
lib/active_support/core_ext/string/filters.rb

Instance Method Summary collapse

Instance Method Details

#squishObject

Returns the string, first removing all whitespace on both ends of the string, and then changing remaining consecutive whitespace groups into one space each.

Examples:

%{ Multi-line
   string }.squish                   # => "Multi-line string"
" foo   bar    \n   \t   boo".squish # => "foo bar boo"

13
14
15
# File 'lib/active_support/core_ext/string/filters.rb', line 13

def squish
  dup.squish!
end

#squish!Object

Performs a destructive squish. See String#squish.


18
19
20
21
22
# File 'lib/active_support/core_ext/string/filters.rb', line 18

def squish!
  strip!
  gsub!(/\s+/, ' ')
  self
end