Sha256: 7b548f9688eeb3af7fe771e2e49984a075da7a8333d31c6247b1fc4ebdc43c15
Contents?: true
Size: 903 Bytes
Versions: 4
Compression:
Stored size: 903 Bytes
Contents
# encoding: utf-8 module Synvert class Rewriter::Scope def initialize(instance, options, &block) @instance = instance @options = options @block = block end def process current_node = @instance.current_node return unless current_node process_with_node current_node do matching_nodes = [] matching_nodes << current_node if current_node.match? @instance, @options current_node.recursive_children do |child_node| matching_nodes << child_node if child_node.match? @instance, @options end matching_nodes.each do |matching_node| process_with_node matching_node do @instance.instance_eval &@block end end end end private def process_with_node(node) @instance.current_node = node yield @instance.current_node = node end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
synvert-0.0.7 | lib/synvert/rewriter/scope.rb |
synvert-0.0.6 | lib/synvert/rewriter/scope.rb |
synvert-0.0.5 | lib/synvert/rewriter/scope.rb |
synvert-0.0.4 | lib/synvert/rewriter/scope.rb |