Class: Refract::Converter
- Inherits:
-
Prism::BasicVisitor
- Object
- Prism::BasicVisitor
- Refract::Converter
- Defined in:
- lib/refract/converter.rb
Class Method Summary collapse
Class Method Details
.visit(node_class) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/refract/converter.rb', line 5 def self.visit(node_class, &) raise ArgumentError unless Class === node_class && Prism::Node > node_class type = node_class.type.name define_method("visit_#{type}") do |node| raise ArgumentError unless node_class === node return_value = instance_exec(node, &) raise ArgumentError unless Node === return_value return_value end end |