Sha256: 89dc19a710955c30c730b6b3870cd03f9791a8846c55884bbe7c0ab4f2c4ed44
Contents?: true
Size: 1.08 KB
Versions: 6689
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true module Parser module Source ## # @api private # class Rewriter::Action include Comparable attr_reader :range, :replacement, :allow_multiple_insertions, :order alias_method :allow_multiple_insertions?, :allow_multiple_insertions def initialize(range, replacement='', allow_multiple_insertions = false, order = 0) @range = range @replacement = replacement @allow_multiple_insertions = allow_multiple_insertions @order = order freeze end def <=>(other) result = range.begin_pos <=> other.range.begin_pos return result unless result.zero? order <=> other.order end 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 end end end
Version data entries
6,689 entries across 6,666 versions & 49 rubygems