Sha256: a710b8ca08e3bb4b18a4ab1364251380ff330ab22b4922671f42a8e73c519238

Contents?: true

Size: 643 Bytes

Versions: 8

Compression:

Stored size: 643 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module Processors
    class DeleteBeforeLast
      include ComparableInstance

      def initialize(delete_before, then_processor)
        @delete_before = delete_before
        @delete_before_length = delete_before.length
        @then_processor = then_processor

        freeze
      end

      def process(str, current_node, matched_node, acc)
        return unless str

        index = str.rindex(@delete_before)
        str = str[(index + @delete_before_length)..-1] if index
        @then_processor.process(str, current_node, matched_node, acc)
      end

      freeze
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
leftovers-0.12.2 lib/leftovers/processors/delete_before_last.rb
leftovers-0.12.1 lib/leftovers/processors/delete_before_last.rb
leftovers-0.12.0 lib/leftovers/processors/delete_before_last.rb
leftovers-0.11.2 lib/leftovers/processors/delete_before_last.rb
leftovers-0.11.1 lib/leftovers/processors/delete_before_last.rb
leftovers-0.11.0 lib/leftovers/processors/delete_before_last.rb
leftovers-0.10.0 lib/leftovers/processors/delete_before_last.rb
leftovers-0.9.0 lib/leftovers/processors/delete_before_last.rb