Class: WebIDL::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/webidl/generator.rb

Defined Under Namespace

Classes: ParseError

Instance Method Summary collapse

Constructor Details

#initialize(visitor = nil) ⇒ Generator

Returns a new instance of Generator.



6
7
8
# File 'lib/webidl/generator.rb', line 6

def initialize(visitor = nil)
  @visitor = visitor
end

Instance Method Details

#generate(str) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/webidl/generator.rb', line 10

def generate(str)
  parse_tree = parser.parse(str)

  if parse_tree.nil?
    raise ParseError, parser.failure_reason
  end

  ast_defs = parse_tree.build
  strings = ast_defs.map { |definition| ruby2ruby.process definition.accept(visitor) }.compact
  strings.join("\n\n")
end