class Parser::Source::Rewriter::Action

@api private

Attributes

allow_multiple_insertions[R]
allow_multiple_insertions?[R]
order[R]
range[R]
replacement[R]

Public Class Methods

new(range, replacement='', allow_multiple_insertions = false, order = 0) click to toggle source
# File lib/parser/source/rewriter/action.rb, line 15
def initialize(range, replacement='', allow_multiple_insertions = false, order = 0)
  @range = range
  @replacement = replacement
  @allow_multiple_insertions = allow_multiple_insertions
  @order = order

  freeze
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/parser/source/rewriter/action.rb, line 24
def <=>(other)
  result = range.begin_pos <=> other.range.begin_pos
  return result unless result.zero?
  order <=> other.order
end
to_s() click to toggle source
# File lib/parser/source/rewriter/action.rb, line 30
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