Class: Synvert::Core::Rewriter::InsertAction

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

Overview

AddAction to add code to the node.

Constant Summary

Constants inherited from Action

Action::DEFAULT_INDENT

Instance Method Summary collapse

Methods inherited from Action

#line, #rewritten_source

Constructor Details

#initialize(instance, code, at:) ⇒ InsertAction

Returns a new instance of InsertAction.



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

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

Instance Method Details

#begin_posInteger

Begin position to insert code.

Returns:

  • (Integer)

    begin position.



16
17
18
19
20
21
22
# File 'lib/synvert/core/rewriter/action/insert_action.rb', line 16

def begin_pos
  if @at == 'end'
    @node.loc.expression.end_pos
  else
    @node.loc.expression.begin_pos
  end
end

#end_posInteger

End position, always same to begin position.

Returns:

  • (Integer)

    end position.



27
28
29
# File 'lib/synvert/core/rewriter/action/insert_action.rb', line 27

def end_pos
  begin_pos
end

#rewritten_codeString

The rewritten source code.

Returns:

  • (String)

    rewritten code.



34
35
36
# File 'lib/synvert/core/rewriter/action/insert_action.rb', line 34

def rewritten_code
  rewritten_source
end