Class: ERB::Compiler::Scanner
- Inherits:
-
Object
- Object
- ERB::Compiler::Scanner
- Defined in:
- lib/erb/compiler.rb
Overview
:nodoc:
Direct Known Subclasses
Constant Summary collapse
- DEFAULT_STAGS =
%w(<%% <%= <%# <%).freeze
- DEFAULT_ETAGS =
%w(%%> %>).freeze
Instance Attribute Summary collapse
-
#etags ⇒ Object
readonly
Returns the value of attribute etags.
-
#stag ⇒ Object
Returns the value of attribute stag.
-
#stags ⇒ Object
readonly
Returns the value of attribute stags.
Class Method Summary collapse
- .default_scanner=(klass) ⇒ Object
- .make_scanner(src, trim_mode, percent) ⇒ Object
- .register_scanner(klass, trim_mode, percent) ⇒ Object (also: regist_scanner)
Instance Method Summary collapse
-
#initialize(src, trim_mode, percent) ⇒ Scanner
constructor
A new instance of Scanner.
- #scan ⇒ Object
Constructor Details
#initialize(src, trim_mode, percent) ⇒ Scanner
Returns a new instance of Scanner.
103 104 105 106 107 108 |
# File 'lib/erb/compiler.rb', line 103 def initialize(src, trim_mode, percent) @src = src @stag = nil @stags = DEFAULT_STAGS @etags = DEFAULT_ETAGS end |
Instance Attribute Details
#etags ⇒ Object (readonly)
Returns the value of attribute etags.
110 111 112 |
# File 'lib/erb/compiler.rb', line 110 def @etags end |
#stag ⇒ Object
Returns the value of attribute stag.
109 110 111 |
# File 'lib/erb/compiler.rb', line 109 def stag @stag end |
#stags ⇒ Object (readonly)
Returns the value of attribute stags.
110 111 112 |
# File 'lib/erb/compiler.rb', line 110 def @stags end |
Class Method Details
.default_scanner=(klass) ⇒ Object
92 93 94 |
# File 'lib/erb/compiler.rb', line 92 def self.default_scanner=(klass) @default_scanner = klass end |
.make_scanner(src, trim_mode, percent) ⇒ Object
96 97 98 99 |
# File 'lib/erb/compiler.rb', line 96 def self.make_scanner(src, trim_mode, percent) klass = @scanner_map.fetch([trim_mode, percent], @default_scanner) klass.new(src, trim_mode, percent) end |
.register_scanner(klass, trim_mode, percent) ⇒ Object Also known as: regist_scanner
86 87 88 |
# File 'lib/erb/compiler.rb', line 86 def register_scanner(klass, trim_mode, percent) @scanner_map = @scanner_map.merge([trim_mode, percent].freeze => klass).freeze end |
Instance Method Details
#scan ⇒ Object
112 |
# File 'lib/erb/compiler.rb', line 112 def scan; end |