Deprecate strip_heredoc?

22 views
Skip to first unread message

Simon Perepelitsa

unread,
Jun 8, 2019, 6:52:47 AM6/8/19
to Ruby on Rails: Core
The new squiggly-heredoc syntax is available since Ruby 2.3, which does the same thing as "strip_heredoc" method. I was going to submit a documentation change to mention the new Ruby syntax, but now I'm doubting if there is any good use case for the method, except for backwards compatibility. Can it be deprecated?

George Claghorn

unread,
Jun 8, 2019, 11:08:27 AM6/8/19
to Ruby on Rails: Core
+1 for deprecating.

Xavier Noria

unread,
Jun 8, 2019, 12:28:44 PM6/8/19
to rubyonrails-core
+1 too.

Rafael Mendonça França

unread,
Jun 8, 2019, 12:35:11 PM6/8/19
to Ruby on Rails: Core
The squiggly-heredoc operator can't be applied to an already existing string. That is the only case were you still need strip_heredoc, so unless we add a way to strip heredocs from an already existent string object to Ruby we can't deprecated it.


On Sat, Jun 8, 2019 at 12:28 PM Xavier Noria <f...@hashref.com> wrote:
+1 too.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-co...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
Visit this group at https://groups.google.com/group/rubyonrails-core.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-core/CAM%3DYcdg-5w386piouguCujy8NoKcr0CpHor9zwSrWiZHOuUv7w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Matthew Draper

unread,
Jun 8, 2019, 2:03:07 PM6/8/19
to rubyonra...@googlegroups.com


> The squiggly-heredoc operator can't be applied to an already existing string. That is the only case were you still need strip_heredoc, so unless we add a way to strip heredocs from an already existent string object to Ruby we can't deprecated it.

How about we rename it to something like `strip_indent`?

As you should no longer be using it on a heredoc, the current name isn’t a great fit.

And then we can deprecate the old name, with a suggestion to use <<~ if possible, or strip_indent if not.



Godfrey Chan

unread,
Jun 9, 2019, 7:23:18 AM6/9/19
to rubyonra...@googlegroups.com
+1 to what Matthew said

If we are switching the use case of the method to stripping indentation, I wonder if we should just call it `outdent`.

By default it could auto detect the indentation like it does now, but there were a couple of times I was processing strings with known indentation that I want to remove, but for some reason the auto detection wasn’t quite right. 

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-co...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
Visit this group at https://groups.google.com/group/rubyonrails-core.

Godfrey Chan

unread,
Jun 9, 2019, 7:30:04 AM6/9/19
to rubyonra...@googlegroups.com
Oops. Hit sent before completing the email.

Anyway, I was thinking it may be a good idea to take keyword arguments to precise control the amount of indentation/tab vs space, etc to override the auto-detection, in the rare cases where it is needed.

For example, when processing an indented markdown code block (triple backtick), it is a good idea to use the indentation level of the backtick instead of looking at the content. Some times there may be intentional indentation inside the code block that is meant to be part of the content (e.g. ASCII art and other kind of diagrams).
Reply all
Reply to author
Forward
0 new messages