Class: Leftovers::Processors::DeleteBeforeLast

Inherits:
Object
  • Object
show all
Includes:
ComparableInstance
Defined in:
lib/leftovers/processors/delete_before_last.rb

Instance Method Summary collapse

Methods included from ComparableInstance

#eql?, #hash

Constructor Details

#initialize(delete_before, then_processor) ⇒ DeleteBeforeLast

Returns a new instance of DeleteBeforeLast.



8
9
10
11
12
13
14
# File 'lib/leftovers/processors/delete_before_last.rb', line 8

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

  freeze
end

Instance Method Details

#process(str, current_node, matched_node, acc) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/leftovers/processors/delete_before_last.rb', line 16

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