class MudratProjector::TransactionHandler
Attributes
next_projector[RW]
Public Class Methods
new(projection: projection)
click to toggle source
# File lib/mudrat_projector/transaction_handler.rb, line 5 def initialize projection: projection @projection = projection end
Public Instance Methods
<<(transaction)
click to toggle source
# File lib/mudrat_projector/transaction_handler.rb, line 9 def << transaction return defer(transaction) if transaction.date > @projection.range.end in_projection, leftover = transaction.slice @projection.range.end @projection.add_transaction_batch in_projection defer leftover if leftover end
defer(transaction)
click to toggle source
# File lib/mudrat_projector/transaction_handler.rb, line 16 def defer transaction next_projector.add_transaction transaction if next_projector end