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.
5 6 7 8 |
# File 'lib/htmlbeautifier/parser.rb', line 5 def initialize @maps = [] yield self if block_given? end |
Instance Method Details
#map(pattern, method) ⇒ Object
10 11 12 |
# File 'lib/htmlbeautifier/parser.rb', line 10 def map(pattern, method) @maps << [pattern, method] end |
#scan(subject, receiver) ⇒ Object
14 15 16 17 |
# File 'lib/htmlbeautifier/parser.rb', line 14 def scan(subject, receiver) @scanner = StringScanner.new(subject) dispatch(receiver) until @scanner.eos? end |
#source_line_number ⇒ Object
23 24 25 |
# File 'lib/htmlbeautifier/parser.rb', line 23 def source_line_number [source_so_far.chomp.split(%r{\n}).count, 1].max end |
#source_so_far ⇒ Object
19 20 21 |
# File 'lib/htmlbeautifier/parser.rb', line 19 def source_so_far @scanner.string[0...@scanner.pos] end |