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

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

Overview

InsertAction 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
# File 'lib/synvert/core/rewriter/action/insert_action.rb', line 6

def initialize(instance, code, at:)
  super(instance, code)
  @at = at
end

Instance Method Details

#begin_posInteger

Begin position to insert code.

Returns:

  • (Integer)

    begin position.



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

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.



25
26
27
# File 'lib/synvert/core/rewriter/action/insert_action.rb', line 25

def end_pos
  begin_pos
end

#rewritten_codeString

The rewritten source code.

Returns:

  • (String)

    rewritten code.



32
33
34
# File 'lib/synvert/core/rewriter/action/insert_action.rb', line 32

def rewritten_code
  rewritten_source
end