Module: Opal::ERB
- Defined in:
- lib/opal/erb.rb,
lib/opal/erb/version.rb
Defined Under Namespace
Classes: Processor
Constant Summary collapse
- VERSION =
'0.2.0'
Class Method Summary collapse
Class Method Details
.parse(str, name = '(erb)') ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/opal/erb.rb', line 7 def self.parse(str, name='(erb)') body = str.gsub('"', '\\"').gsub(/<%=([\s\S]+?)%>/) do inner = $1.gsub(/\\'/, "'").gsub(/\\"/, '"') "\")\nout.<<(#{ inner })\nout.<<(\"" end.gsub(/<%([\s\S]+?)%>/) do "\")\n#{ $1 }\nout.<<(\"" end code = "ERB.new('#{name}') do\nout = []\nout.<<(\"#{ body }\")\nout.join\nend\n" Opal.parse code end |