Sha256: 36ff8abe19eda84f0410dbefff03fda8e8b1f8b4ba9095d7e3deebb98144fc83

Contents?: true

Size: 870 Bytes

Versions: 74

Compression:

Stored size: 870 Bytes

Contents

# frozen_string_literal: true

require "attr_extras"

module Renalware
  # A base class for Summary presenters in other name-spaces. SummaryParts can be composed into
  # reporting dashboards or summary pages. The Clinical Summary for instance comprises an array
  # of various SummaryParts
  class SummaryPart
    DATE_FORMAT = "%Y%m%d%H%M%S%L"
    rattr_initialize :patient
    attr_implement :to_partial_path

    # If the subclass defines a cache_key Rails will cache the partial
    def cache_key
      nil
    end

    def render?
      true
    end

    def cache?
      cache_key.present?
    end

    protected

    def date_formatted_for_cache(date)
      date&.strftime(DATE_FORMAT)
    end

    def title_friendly_collection_count(actual:, total:)
      if total > actual
        "#{actual} of #{total}"
      else
        actual
      end
    end
  end
end

Version data entries

74 entries across 74 versions & 1 rubygems

Version Path
renalware-core-2.0.87 app/presenters/renalware/summary_part.rb
renalware-core-2.0.86 app/presenters/renalware/summary_part.rb
renalware-core-2.0.85 app/presenters/renalware/summary_part.rb
renalware-core-2.0.84 app/presenters/renalware/summary_part.rb
renalware-core-2.0.83 app/presenters/renalware/summary_part.rb
renalware-core-2.0.82 app/presenters/renalware/summary_part.rb
renalware-core-2.0.81 app/presenters/renalware/summary_part.rb
renalware-core-2.0.80 app/presenters/renalware/summary_part.rb
renalware-core-2.0.79 app/presenters/renalware/summary_part.rb
renalware-core-2.0.78 app/presenters/renalware/summary_part.rb
renalware-core-2.0.77 app/presenters/renalware/summary_part.rb
renalware-core-2.0.76 app/presenters/renalware/summary_part.rb
renalware-core-2.0.75 app/presenters/renalware/summary_part.rb
renalware-core-2.0.74 app/presenters/renalware/summary_part.rb
renalware-core-2.0.73 app/presenters/renalware/summary_part.rb
renalware-core-2.0.72 app/presenters/renalware/summary_part.rb
renalware-core-2.0.71 app/presenters/renalware/summary_part.rb
renalware-core-2.0.70 app/presenters/renalware/summary_part.rb
renalware-core-2.0.69 app/presenters/renalware/summary_part.rb
renalware-core-2.0.68 app/presenters/renalware/summary_part.rb