Sha256: e5d335bf50a8ef0925b48abe9ee006cc0d15b5ce9751c05ce9bec17f95ae122b

Contents?: true

Size: 1.14 KB

Versions: 30

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/letters"
require "collection_presenter"

module Renalware
  module Letters
    class SummaryPart < Renalware::SummaryPart
      def letters
        present_letters(find_letters)
      end

      def letters_count
        title_friendly_collection_count(
          actual: letters.size,
          total: patient.summary.letters_count
        )
      end

      def to_partial_path
        "renalware/letters/summary_part"
      end

      def cache_key
        [letters_patient.cache_key, letters_patient.letters.cache_key].join("~")
      end

      private

      def find_letters
        letters_patient
          .letters
          .with_main_recipient
          .with_letterhead
          .with_author
          .with_patient
          .limit(Renalware.config.clinical_summary_max_letters_to_display)
          .order(issued_on: :desc)
      end

      def present_letters(letters)
        CollectionPresenter.new(letters, Renalware::Letters::LetterPresenterFactory)
      end

      def letters_patient
        @letters_patient ||= Renalware::Letters.cast_patient(patient)
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
renalware-core-2.0.33 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.32 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.31 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.30 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.28 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.27 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.26 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.25 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.24 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.23 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.22 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.21 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.20 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.18 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.17 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.16 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.15 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.14 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.13 app/presenters/renalware/letters/summary_part.rb
renalware-core-2.0.12 app/presenters/renalware/letters/summary_part.rb