Sha256: 5e9eeabeb52838430dd19f6a981855bc99b785a882d710dbd9d2fc2df5b69392
Contents?: true
Size: 874 Bytes
Versions: 19
Compression:
Stored size: 874 Bytes
Contents
require_dependency "renalware/letters/letter" module Renalware module Letters class Letter::PendingReview < Letter def self.policy_class PendingReviewLetterPolicy end def revise(params) params = LetterParamsProcessor.new(patient).call(params) self.attributes = params end def reject(by:) becomes!(Draft).tap { |letter| letter.by = by } end def sign(by:) build_signature(user: by, signed_at: Time.current) self.by = by self end def generate_archive(by:, presenter: default_presenter) becomes!(Approved).tap do |letter| letter.by = by letter.build_archive(by: by, content: presenter.content) end end private def default_presenter LetterPresenterFactory.new(self) end end end end
Version data entries
19 entries across 19 versions & 1 rubygems