Commit Graph

4 Commits

Author SHA1 Message Date
Carlhuda 9de83050d3 Add deprecation notices for <% %>.
* The approach is to compile <% %> into a method call that checks whether
    the value returned from a block is a String. If it is, it concats to the buffer and
    prints a deprecation warning.
  * <%= %> uses exactly the same logic to compile the template, which first checks
    to see whether it's compiling a block.
  * This should have no impact on other uses of block in templates. For instance, in
    <% [1,2,3].each do |i| %><%= i %><% end %>, the call to each returns an Array,
    not a String, so the result is not concatenated
  * In two cases (#capture and #cache), a String can be returned that should *never*
    be concatenated. We have temporarily created a String subclass called NonConcattingString
    which behaves (and is serialized) identically to String, but is not concatenated
    by the code that handles deprecated <% %> block helpers. Once we remove support
    for <% %> block helpers, we can remove NonConcattingString.
2010-03-15 14:50:43 -07:00
José Valim 4840acd485 %= works for content_tag and does not require parenthesis on method call 2010-03-12 12:08:23 +01:00
wycats 7b622786fc Make form helpers work with <%= 2010-03-09 23:44:12 -08:00
Carlhuda 4464b8e87b Deprecate block_called_from_erb? pending a solution for getting it into apps 2010-03-09 23:44:12 -08:00