Sha256: 67ab7d81449b3eebb60069bef948cb00642d8d76041bd95453ae566f3156fe69
Contents?: true
Size: 924 Bytes
Versions: 10
Compression:
Stored size: 924 Bytes
Contents
# frozen_string_literal: true module Synvert::Core # DeleteAction deletes child nodes. class Rewriter::DeleteAction < Rewriter::Action # Initialize a DeleteAction. # # @param instance [Synvert::Core::Rewriter::Instance] # @param selectors [Array<Symbol, String>] used to select child nodes def initialize(instance, *selectors) super(instance, nil) @selectors = selectors end # The rewritten code, always empty string. def rewritten_code '' end private # Calculate the begin and end positions. def calculate_position @begin_pos = @selectors.map { |selector| @node.child_node_range(selector) } .compact.map(&:begin_pos).min @end_pos = @selectors.map { |selector| @node.child_node_range(selector) } .compact.map(&:end_pos).max squeeze_spaces remove_comma end end end
Version data entries
10 entries across 10 versions & 1 rubygems