Sha256: 47969605e793ed09dcbf475c56dc1c968d9b095fab4530d3d753ac5252808c16

Contents?: true

Size: 577 Bytes

Versions: 10

Compression:

Stored size: 577 Bytes

Contents

# frozen_string_literal: true

require_dependency "renalware/letters"

module Renalware
  module Letters
    module Printing
      # Marks as completed a Batch and all Letters within it.
      class CompleteBatch
        pattr_initialize [:batch!, :user!]

        # TOD: Avoid loading all letters into memory
        def call
          Batch.transaction do
            batch.letters.each { |letter| CompleteLetter.build(letter).call(by: user) }
            batch.update_by(user, status: :success)
            batch.reload
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
renalware-core-2.1.1 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.1.0 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.167 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.166 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.165 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.164 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.163 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.162 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.161 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.160 app/models/renalware/letters/printing/complete_batch.rb