class Processor::Subroutine::Recursion
Public Class Methods
new(processor)
click to toggle source
Calls superclass method
# File lib/processor/subroutine/recursion.rb, line 7 def initialize(processor) # recursion depends on counter subroutine processor = Counter.new(processor) unless processor.respond_to? :processed_records_count super processor end
Public Instance Methods
process(*)
click to toggle source
Calls superclass method
# File lib/processor/subroutine/recursion.rb, line 14 def process(*) recursion_preventer super end
Private Instance Methods
max_records_to_process()
click to toggle source
# File lib/processor/subroutine/recursion.rb, line 24 def max_records_to_process @max_records_to_process ||= (total_records * 1.1).round + 10 end
recursion_preventer()
click to toggle source
# File lib/processor/subroutine/recursion.rb, line 20 def recursion_preventer raise Exception, "Processing fall into recursion. Check logs." if processed_records_count >= max_records_to_process end