Methods

Class/Module Index [+]

Quicksearch

Erubis::BiPatternEnhancer

enable to use other embedded expression pattern (default is ‘[= =]’).

notice! this is an experimental. spec may change in the future.

ex.

input = <<END
<% for item in list %>
  <%= item %> : <%== item %>
  [= item =] : [== item =]
<% end %>
END

class BiPatternEruby
  include BiPatternEnhancer
end
eruby = BiPatternEruby.new(input, :bipattern=>'\[= =\]')
list = ['<a>', 'b&b', '"c"']
print eruby.result(binding())

## output
  <a> : &lt;a&gt;
  <a> : &lt;a&gt;
  b&b : b&amp;b
  b&b : b&amp;b
  "c" : &quot;c&quot;
  "c" : &quot;c&quot;

this is language independent.

Public Class Methods

new(input, properties={}) click to toggle source
# File lib/erubis/enhancer.rb, line 408
def initialize(input, properties={})
  self.bipattern = properties[:bipattern]    # or '\$\{ \}'
  super
end

Public Instance Methods

add_text(src, text) click to toggle source
# File lib/erubis/enhancer.rb, line 420
def add_text(src, text)
  return unless text
  m = nil
  text.scan(@bipattern_regexp) do |txt, indicator, code|
    m = Regexp.last_match
    super(src, txt)
    add_expr(src, code, '=' + indicator)
  end
  #rest = $' || text                    # ruby1.8
  rest = m ? text[m.end(0)..-1] : text  # ruby1.9
  super(src, rest)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.