Sha256: 488718dc3b0a49b0cb9b5f553020bc9970e7efb31a06a36618b150f2cfb944a8

Contents?: true

Size: 1.57 KB

Versions: 13

Compression:

Stored size: 1.57 KB

Contents

##
## $Rev: 77 $
## $Release: 2.6.2 $
## copyright(c) 2006-2008 kuwata-lab.com all rights reserved.
##

require 'erubis/engine'
require 'erubis/enhancer'


module Erubis


  module PhpGenerator
    include Generator

    def self.supported_properties()  # :nodoc:
      return []
    end

    def init_generator(properties={})
      super
      @escapefunc ||= 'htmlspecialchars'
    end

    def add_preamble(src)
      # empty
    end

    def escape_text(text)
      return text.gsub!(/<\?xml\b/, '<<?php ?>?xml') || text
    end

    def add_text(src, text)
      src << escape_text(text)
    end

    def add_expr_literal(src, code)
      code.strip!
      src << "<?php echo #{code}; ?>"
    end

    def add_expr_escaped(src, code)
      add_expr_literal(src, escaped_expr(code))
    end

    def add_expr_debug(src, code)
      code.strip!
      s = code.gsub(/\'/, "\\'")
      src << "<?php error_log('*** debug: #{s}='.(#{code}), 0); ?>"
    end

    def add_stmt(src, code)
      src << "<?php"
      src << " " if code[0] != ?\ #
      if code[-1] == ?\n
        code.chomp!
        src << code << "?>\n"
      else
        src << code << "?>"
      end
    end

    def add_postamble(src)
      # empty
    end

  end


  ##
  ## engine for PHP
  ##
  class Ephp < Basic::Engine
    include PhpGenerator
  end


  class EscapedEphp < Ephp
    include EscapeEnhancer
  end


  #class XmlEphp < Ephp
  #  include EscapeEnhancer
  #end


  class PI::Ephp < PI::Engine
    include PhpGenerator

    def init_converter(properties={})
      @pi = 'php'
      super(properties)
    end

  end


end

Version data entries

13 entries across 13 versions & 4 rubygems

Version Path
merb-core-1.1.3 spec10/public/webrat/test_app/gems/gems/erubis-2.6.2/lib/erubis/engine/ephp.rb
merb-core-1.1.2 spec10/public/webrat/test_app/gems/gems/erubis-2.6.2/lib/erubis/engine/ephp.rb
merb-core-1.1.1 spec10/public/webrat/test_app/gems/gems/erubis-2.6.2/lib/erubis/engine/ephp.rb
merb-core-1.1.0 spec10/public/webrat/test_app/gems/gems/erubis-2.6.2/lib/erubis/engine/ephp.rb
merb-core-1.1.0.rc1 spec10/public/webrat/test_app/gems/gems/erubis-2.6.2/lib/erubis/engine/ephp.rb
simple-templater-0.0.1.3 vendor/erubis/lib/erubis/engine/ephp.rb
simple-templater-0.0.1.2 vendor/erubis/lib/erubis/engine/ephp.rb
simple-templater-0.0.1.1 vendor/erubis/lib/erubis/engine/ephp.rb
rango-0.0.6 vendor/erubis/lib/erubis/engine/ephp.rb
rango-0.1.pre vendor/erubis/lib/erubis/engine/ephp.rb
simple-templater-0.0.1 vendor/erubis/lib/erubis/engine/ephp.rb
merb-core-1.1.0.pre spec10/public/webrat/test_app/gems/gems/erubis-2.6.2/lib/erubis/engine/ephp.rb
erubis-2.6.2 lib/erubis/engine/ephp.rb