Class: HtmlBeautifier::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/htmlbeautifier/parser.rb

Direct Known Subclasses

HtmlParser

Instance Method Summary collapse

Constructor Details

#initialize {|_self| ... } ⇒ Parser

Returns a new instance of Parser.

Yields:

  • (_self)

Yield Parameters:



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_numberObject



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_farObject



19
20
21
# File 'lib/htmlbeautifier/parser.rb', line 19

def source_so_far
  @scanner.string[0...@scanner.pos]
end