Class: Gammo::Parser::InsertionMode

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parser) ⇒ InsertionMode

Returns a new instance of InsertionMode.



8
9
10
# File 'lib/gammo/parser/insertion_mode.rb', line 8

def initialize(parser)
  @parser  = parser
end

Instance Attribute Details

#parserObject (readonly)

Returns the value of attribute parser.



6
7
8
# File 'lib/gammo/parser/insertion_mode.rb', line 6

def parser
  @parser
end

Instance Method Details

#processObject



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/gammo/parser/insertion_mode.rb', line 12

def process
  case token = parser.token
  when Tokenizer::ErrorToken          then consume(:error_token)
  when Tokenizer::CharacterToken      then consume(:character_token)
  when Tokenizer::StartTagToken       then consume(:start_tag_token)
  when Tokenizer::EndTagToken         then consume(:end_tag_token)
  when Tokenizer::SelfClosingTagToken then consume(:self_closing_tag_token)
  when Tokenizer::CommentToken        then consume(:comment_token)
  when Tokenizer::DoctypeToken        then consume(:doctype_token)
  else default token
  end
end