Class: Synvert::Core::Rewriter::ReplaceAction

Inherits:
Action
  • Object
show all
Defined in:
lib/synvert/core/rewriter/action/replace_action.rb

Overview

ReplaceAction to replace child node with code.

Constant Summary

Constants inherited from Action

Action::DEFAULT_INDENT, Action::DEFAULT_OPTIONS

Instance Method Summary collapse

Methods inherited from Action

#line, #rewritten_source

Constructor Details

#initialize(instance, selector, with:) ⇒ ReplaceAction

Returns a new instance of ReplaceAction.



6
7
8
9
10
11
# File 'lib/synvert/core/rewriter/action/replace_action.rb', line 6

def initialize(instance, selector, with:)
  @instance = instance
  @selector = selector
  @code = with
  @node = @instance.current_node
end

Instance Method Details

#begin_posInteger

Begin position of code to replace.

Returns:

  • (Integer)

    begin position.



16
17
18
# File 'lib/synvert/core/rewriter/action/replace_action.rb', line 16

def begin_pos
  @node.child_node_range(@selector).begin_pos
end

#end_posInteger

End position of code to replace.

Returns:

  • (Integer)

    end position.



23
24
25
# File 'lib/synvert/core/rewriter/action/replace_action.rb', line 23

def end_pos
  @node.child_node_range(@selector).end_pos
end

#rewritten_codeString

The rewritten source code.

Returns:

  • (String)

    rewritten code.



30
31
32
# File 'lib/synvert/core/rewriter/action/replace_action.rb', line 30

def rewritten_code
  rewritten_source
end