Module Erubis::Converter
In: lib/erubis/converter.rb
Ejava EscapedEjava Engine Eperl Ephp OptimizedEruby Ec Ejavascript Escheme Eruby\n[lib/erubis/engine/eruby.rb\nlib/erubis/helpers/rails_helper.rb] PreprocessingEruby XmlEruby HeaderFooterEruby PrintEnabledEruby StdoutEruby StringBufferEruby BiPatternEruby InterpolationEruby PercentLineEruby PrintOutSimplifiedEruby NoTextEruby ErboutEruby StringIOEruby ArrayEruby PrintOutEruby SimplifiedEruby EscapedEruby DeleteIndentEruby StdoutSimplifiedEruby NoCodeEruby ArrayBufferEruby PreprocessingEruby FastEruby\n[lib/erubis/engine/eruby.rb\nlib/erubis/helpers/rails_helper.rb] EscapedEphp EscapedEc OptimizedXmlEruby EscapedEperl EscapedEjavascript EscapedEscheme Enumerable Context ErubisError NotSupportedError CommandOptionError StandardError RubyEvaluator Eruby RubyGenerator PI::Engine Ejava Eperl Ec Ejavascript Ephp Escheme JavaGenerator PerlGenerator Evaluator Engine PI::Converter Generator CGenerator JavascriptGenerator PhpGenerator SchemeGenerator Basic::Converter Main TinyEruby Engine TinyEruby lib/erubis/engine/escheme.rb lib/erubis/engine/ec.rb lib/erubis/engine/eperl.rb lib/erubis/engine/eruby.rb lib/erubis/engine/ephp.rb lib/erubis/preprocessing.rb lib/erubis/error.rb lib/erubis/engine/ejava.rb lib/erubis/engine/ejavascript.rb lib/erubis/context.rb lib/erubis/engine/optimized.rb lib/erubis/main.rb lib/erubis/engine/enhanced.rb lib/erubis/tiny.rb lib/erubis/engine.rb NoCodeEnhancer ArrayBufferEnhancer StringBufferEnhancer Generator SchemeGenerator OptimizedGenerator lib/erubis/engine/escheme.rb lib/erubis/engine/ec.rb lib/erubis/engine/eperl.rb lib/erubis/engine/eruby.rb lib/erubis/engine/ephp.rb lib/erubis/engine/ejava.rb lib/erubis/engine/ejavascript.rb lib/erubis/tiny.rb lib/erubis/engine.rb Converter PI Converter SimplifyEnhancer StdoutEnhancer HeaderFooterEnhancer RubyGenerator CGenerator PhpGenerator lib/erubis/engine.rb Converter Basic XmlHelper lib/erubis/helpers/rails_helper.rb TemplateConverter RailsHelper RailsFormHelper Helpers BiPatternEnhancer PrintEnabledEnhancer PerlGenerator JavascriptGenerator PreprocessingHelper Evaluator PercentLineEnhancer NoTextEnhancer ErboutEnhancer PrintOutEnhancer EscapeEnhancer JavaGenerator DeleteIndentEnhancer StringIOEnhancer ArrayEnhancer InterpolationEnhancer RubyEvaluator Erubis dot/m_23_0.png

Methods

Attributes

escape  [RW] 
postamble  [RW] 
preamble  [RW] 

Public Instance methods

convert input string into target language

[Source]

    # File lib/erubis/converter.rb, line 34
34:     def convert(input)
35:       codebuf = ""    # or []
36:       @preamble.nil? ? add_preamble(codebuf) : (@preamble && (codebuf << @preamble))
37:       convert_input(codebuf, input)
38:       @postamble.nil? ? add_postamble(codebuf) : (@postamble && (codebuf << @postamble))
39:       @_proc = nil    # clear cached proc object
40:       return codebuf  # or codebuf.join()
41:     end

[Source]

    # File lib/erubis/converter.rb, line 27
27:     def init_converter(properties={})
28:       @preamble  = properties[:preamble]
29:       @postamble = properties[:postamble]
30:       @escape    = properties[:escape]
31:     end

Protected Instance methods

(abstract) convert input to code

[Source]

    # File lib/erubis/converter.rb, line 78
78:     def convert_input(codebuf, input)
79:       not_implemented
80:     end

detect spaces at beginning of line

[Source]

    # File lib/erubis/converter.rb, line 48
48:     def detect_spaces_at_bol(text, is_bol)
49:       lspace = nil
50:       if text.empty?
51:         lspace = "" if is_bol
52:       elsif text[-1] == ?\n
53:         lspace = ""
54:       else
55:         rindex = text.rindex(?\n)
56:         if rindex
57:           s = text[rindex+1..-1]
58:           if s =~ /\A[ \t]*\z/
59:             lspace = s
60:             #text = text[0..rindex]
61:             text[rindex+1..-1] = ''
62:           end
63:         else
64:           if is_bol && text =~ /\A[ \t]*\z/
65:             #lspace = text
66:             #text = nil
67:             lspace = text.dup
68:             text[0..-1] = ''
69:           end
70:         end
71:       end
72:       return lspace
73:     end

[Validate]