Sha256: 45584e75dbac4abe7e06b1eef1015bb83411b76ac43919188a8b09ee2bc24d3c

Contents?: true

Size: 754 Bytes

Versions: 15

Compression:

Stored size: 754 Bytes

Contents

# frozen_string_literal: true

module Synvert::Core
  # RemoveAction to delete code.
  class Rewriter::DeleteAction < Rewriter::Action
    def initialize(instance, *selectors)
      super(instance, nil)
      @selectors = selectors
    end

    # Begin position of code to replace.
    #
    # @return [Integer] begin position.
    def begin_pos
      @selectors.map { |selector| @node.child_node_range(selector) }.compact.map(&:begin_pos).min
    end

    # End position of code to replace.
    #
    # @return [Integer] end position.
    def end_pos
      @selectors.map { |selector| @node.child_node_range(selector) }.compact.map(&:end_pos).max
    end

    # The rewritten code, always empty string.
    def rewritten_code
      ''
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
synvert-core-0.53.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.52.1 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.52.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.51.1 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.51.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.50.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.49.1 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.49.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.48.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.47.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.46.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.45.2 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.45.1 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.45.0 lib/synvert/core/rewriter/action/delete_action.rb
synvert-core-0.44.1 lib/synvert/core/rewriter/action/delete_action.rb