Sha256: 0c5400882c660c096690e0e1999a4e365279f74c8a3a07583efa9516ad3316b4

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

###
### $Rev: 137 $
### $Release: 3.1.0 $
### copyright(c) 2004-2006 kuwata-lab.com all rights reserved
###

require 'kwartz/converter'
require 'kwartz/translator'
require 'kwartz/binding/ruby'



module Kwartz



  class PIErubisHandler < RubyHandler
  end
  Handler.register_class('pierubis', PIErubisHandler)



  ##
  ## translator for Erubis
  ##
  class PIErubisTranslator < BaseTranslator


    PIERUBIS_EMBED_PATTERNS = [
      '<?rb ', ' ?>',      # statement
      '@!{',   '}@',       # expression
      '@{',    '}@',       # escaped expression
    ]


    def initialize(properties={})
      super(PIERUBIS_EMBED_PATTERNS, properties)
      #@escape = true if @escape == nil
    end


    def translate_native_expr(expr)
      assert unless expr.is_a?(NativeExpression)
      if expr.code.include?(?}) || expr.code.include?(?>)
        @expr_l, @expr_r, @escape_l, @escape_r = '<%=', '%>', '<%==', '%>'
      else
        @expr_l, @expr_r, @escape_l, @escape_r = '@!{', '}@', '@{', '}@'
      end
      super(expr)
    end


  end
  Translator.register_class('pierubis', PIErubisTranslator)



end #module

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kwartz-3.1.0 lib/kwartz/binding/pierubis.rb