Module: Erubis::HeaderFooterEnhancer

Module | Erubis::HeaderFooterEnhancer
In: | lib/erubis/enhancer.rb

experimental
  allow header and footer in eRuby script

ex.

      ====================
      ## without header and footer
      $ cat ex1.eruby
      <% def list_items(list) %>
      <%   for item in list %>
      <li><%= item %></li>
      <%   end %>
      <% end %>

      $ erubis -s ex1.eruby
      _buf = []; def list_items(list)
      ;   for item in list
      ; _buf << '<li>'; _buf << ( item ).to_s; _buf << '</li>
      ';   end
      ; end
      ;
      _buf.join

      ## with header and footer
      $ cat ex2.eruby
      <!--#header:
      def list_items(list)
       #-->
      <%  for item in list %>
      <li><%= item %></li>
      <%  end %>
      <!--#footer:
      end
       #-->

      $ erubis -s -c HeaderFooterEruby ex4.eruby

      def list_items(list)
       _buf = []; _buf << '
      ';  for item in list
      ; _buf << '<li>'; _buf << ( item ).to_s; _buf << '</li>
      ';  end
      ; _buf << '
      ';
      _buf.join
      end

      ====================

this is language-independent.

### Methods

add_text convert

### Constants

HEADER_FOOTER_PATTERN | = | /(.*?)(^[ \t]*)?<!--\#(\w+):(.*?)\#-->([ \t]*\r?\n)?/m

### Attributes

footer | [RW] |
header | [RW] |

### Public Instance methods

add_text(src, text)
convert(input)

[Validate]