Sha256: 247e19ecb402fe5285ba3a076e9a30f27fee199839db3c96dd1793f374ba6977
Contents?: true
Size: 374 Bytes
Versions: 14
Compression:
Stored size: 374 Bytes
Contents
module Rbexy class ASTTransformer attr_reader :registry def initialize clear! end def register(*node_classes, &block) node_classes.each { |k| (registry[k] ||= []) << block } end def transform(node, context) registry[node.class]&.each { |t| t.call(node, context) } end def clear! @registry = {} end end end
Version data entries
14 entries across 14 versions & 1 rubygems