Sha256: 7b781ed66dd93cfcebbd306c0f83bd6c4a855dfe59c8f96edb36ddb2905af1da

Contents?: true

Size: 1016 Bytes

Versions: 5

Compression:

Stored size: 1016 Bytes

Contents

#
# E.g. medications/esa_prescriptions
# See routes.rb for how drug type name is set.
#
module Renalware
  module Medications
    module DrugTypes
      class PrescriptionsController < BaseController
        include Renalware::Concerns::Pageable

        def index
          authorize Prescription, :index?
          render :index, locals: {
            prescriptions: present_prescriptions,
            search: query.search
          }
        end

        private

        def present_prescriptions
          CollectionPresenter.new(paginated_prescriptions, PrescriptionPresenter)
        end

        def paginated_prescriptions
          query.call.page(page).per(per_page)
        end

        def query
          @query ||= begin
            PrescriptionsByDrugTypeQuery.new(
              drug_type_name: drug_type_name,
              search_params: params[:q]
            )
          end
        end

        def drug_type_name
          params.fetch(:drug_type_name)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
renalware-core-2.0.16 app/controllers/renalware/medications/drug_types/prescriptions_controller.rb
renalware-core-2.0.15 app/controllers/renalware/medications/drug_types/prescriptions_controller.rb
renalware-core-2.0.14 app/controllers/renalware/medications/drug_types/prescriptions_controller.rb
renalware-core-2.0.13 app/controllers/renalware/medications/drug_types/prescriptions_controller.rb
renalware-core-2.0.12 app/controllers/renalware/medications/drug_types/prescriptions_controller.rb