Class: Parser::Source::Rewriter::Action

Inherits:
Object
  • Object
show all
Defined in:
lib/parser/source/rewriter/action.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(range, replacement = "") ⇒ Action

Returns a new instance of Action.



7
8
9
10
11
# File 'lib/parser/source/rewriter/action.rb', line 7

def initialize(range, replacement="")
  @range, @replacement = range, replacement

  freeze
end

Instance Attribute Details

#rangeObject (readonly)

Returns the value of attribute range.



5
6
7
# File 'lib/parser/source/rewriter/action.rb', line 5

def range
  @range
end

#replacementObject (readonly)

Returns the value of attribute replacement.



5
6
7
# File 'lib/parser/source/rewriter/action.rb', line 5

def replacement
  @replacement
end

Instance Method Details

#to_sObject



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/parser/source/rewriter/action.rb', line 13

def to_s
  if @range.length == 0 && @replacement.empty?
    "do nothing"
  elsif @range.length == 0
    "insert #{@replacement.inspect}"
  elsif @replacement.empty?
    "remove #{@range.length} character(s)"
  else
    "replace #{@range.length} character(s) with #{@replacement.inspect}"
  end
end