Sha256: 4aa7eece499a90451a7672d2ef4e81e70071592f9b4f5effd0f53752412ec2f5
Contents?: true
Size: 842 Bytes
Versions: 98
Compression:
Stored size: 842 Bytes
Contents
# frozen_string_literal: true module Renalware module Medications class PrescriptionsByDrugTypeQuery attr_reader :drug_type_name, :search_params def initialize(drug_type_name:, search_params: nil) @drug_type_name = drug_type_name.downcase @search_params = search_params || {} @search_params.reverse_merge!(s: Prescription.default_search_order) end def call search.result end def search @search ||= begin Prescription .current .includes(:medication_route, :drug) .includes(patient: { current_modality: :description }) .eager_load(drug: [:drug_types]) .where("lower(drug_types.name) = lower(?)", drug_type_name) .ransack(search_params) end end end end end
Version data entries
98 entries across 98 versions & 1 rubygems