Class: HtmlBeautifier::Parser
- Inherits:
-
Object
- Object
- HtmlBeautifier::Parser
- Defined in:
- lib/htmlbeautifier/parser.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize {|_self| ... } ⇒ Parser
constructor
A new instance of Parser.
- #map(pattern, method) ⇒ Object
- #scan(subject, receiver) ⇒ Object
- #source_line_number ⇒ Object
- #source_so_far ⇒ Object
Constructor Details
#initialize {|_self| ... } ⇒ Parser
Returns a new instance of Parser.
7 8 9 10 |
# File 'lib/htmlbeautifier/parser.rb', line 7 def initialize @maps = [] yield self if block_given? end |
Instance Method Details
#map(pattern, method) ⇒ Object
12 13 14 |
# File 'lib/htmlbeautifier/parser.rb', line 12 def map(pattern, method) @maps << [pattern, method] end |
#scan(subject, receiver) ⇒ Object
16 17 18 19 |
# File 'lib/htmlbeautifier/parser.rb', line 16 def scan(subject, receiver) @scanner = StringScanner.new(subject) dispatch(receiver) until @scanner.eos? end |
#source_line_number ⇒ Object
25 26 27 |
# File 'lib/htmlbeautifier/parser.rb', line 25 def source_line_number [source_so_far.chomp.split(%r{\n}).count, 1].max end |
#source_so_far ⇒ Object
21 22 23 |
# File 'lib/htmlbeautifier/parser.rb', line 21 def source_so_far @scanner.string[0...@scanner.pos] end |