Class Kwartz::RubyTranslator
In: kwartz/binding/ruby.rb
Parent: BaseTranslator

translator for eRuby

Methods

Included Modules

RubyExpressionParser

Public Class methods

[Source]

# File kwartz/binding/ruby.rb, line 191
    def initialize(properties={})
      escapefunc = properties[:escapefunc] || 'ERB::Util.h'
      marks = ['', '', '_buf << (', ').to_s; ', "_buf << #{escapefunc}(", '); ']
      super(marks, properties)
      @header = '_buf = ""; '  unless @header == false
      @footer = '; _buf' + @nl   unless @footer == false
    end

Public Instance methods

[Source]

# File kwartz/binding/ruby.rb, line 214
    def translate(stmt_list)
      stmt_list2 = optimize_print_stmts(stmt_list)
      return super(stmt_list2)
    end

[Source]

# File kwartz/binding/ruby.rb, line 200
    def translate_string(str)
      return if str.nil? || str.empty?
      #str.gsub!(/['\\]/, '\\\\\&')
      #@sb << "_buf << '#{str}'; "
      str.gsub!(/["\\]/, '\\\\\&')
      if str[-1] == ?\n
        str.chop!
        @sb << "_buf << \"#{str}\\n\";" << @nl
      else
        @sb << "_buf << \"#{str}\"; "
      end
    end

[Validate]