Project

General

Profile

Actions

Feature #11735

open

Porting String#squish and String#squish! from Ruby on Rails' Active Support

Added by sikachu (Prem Sichanugrist) almost 9 years ago. Updated 8 months ago.

Status:
Assigned
Target version:
-
[ruby-core:71658]

Description

Hi,

I have been using this String#squish method so many time when I'm using Rails, and I think it should be a useful addition to core.

Here's the method on Rails' documentation: http://api.rubyonrails.org/v4.2.5/classes/String.html#method-i-squish

This method is very useful when you have to write a multi-line string using heredoc, but you actually does not care about the white-spaces before, after, and in-between the string.

For example:

<<-SQL.squish
  SELECT *
  FROM users
  WHERE users.username = 'sikachu'
SQL
#=> "SELECT * FROM users WHERE users.username='sikachu'"

Another example usage is when you are on the project that have a line length code standard, and you have to write a long warning message that needs to be printed to stdout:

puts <<-WARNING.squish
  Unable to connect to the server. Please double-check that you are currently
  connecting to the internet and your proxy server is working.
WARNING
#=> Unable to connect to the server. Please double-check that you are currently connecting to the internet and your proxy server is working.

By the way, this is my first patch and my first time writing something in C, so there might be something that does not look right to you. I'll happy to revise this patch (and learn about C in the process!) from your feedback.

Thank you,
Prem


Files

0001-Introduce-String-squish-and-String-squish.patch (4.67 KB) 0001-Introduce-String-squish-and-String-squish.patch Patch in git format-patch format sikachu (Prem Sichanugrist), 11/24/2015 07:32 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0