Sha256: 7a524b2a8dbb4fe4eb6b6b8767c6483fb551352ebe1e7a598c05dcf0ea3a0f9e

Contents?: true

Size: 599 Bytes

Versions: 46

Compression:

Stored size: 599 Bytes

Contents

# frozen_string_literal: true

require_dependency "renalware/letters"
require "attr_extras"

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

46 entries across 46 versions & 1 rubygems

Version Path
renalware-core-2.0.159 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.158 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.157 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.156 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.155 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.153 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.152 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.151 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.149 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.148 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.147 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.146 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.145 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.144 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.143 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.142 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.141 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.140 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.139 app/models/renalware/letters/printing/complete_batch.rb
renalware-core-2.0.138 app/models/renalware/letters/printing/complete_batch.rb