Sha256: 3a37f531c92d15220d64d9541838ad366bc702a0fd6be47d97011b5232d158e7

Contents?: true

Size: 595 Bytes

Versions: 65

Compression:

Stored size: 595 Bytes

Contents

# frozen_string_literal: true

require "attr_extras"

module Renalware
  module PD
    class RegimesInDateRangeQuery
      pattr_initialize [:patient!, :from!, :to!]

      def call
        scope = Renalware::PD::Regime.order(start_date: :asc, end_date: :desc)

        scope
          .where(conditions.merge(end_date: from..to))
          .or(
            scope.where(conditions.merge(end_date: nil))
          )
      end

      private

      def conditions
        {
          patient_id: patient.id,
          start_date: from..DateTime::Infinity.new
        }
      end
    end
  end
end

Version data entries

65 entries across 65 versions & 1 rubygems

Version Path
renalware-core-2.0.159 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.158 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.157 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.156 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.155 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.153 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.152 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.151 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.149 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.148 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.147 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.146 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.145 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.144 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.143 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.142 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.141 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.140 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.139 app/models/renalware/pd/regimes_in_date_range_query.rb
renalware-core-2.0.138 app/models/renalware/pd/regimes_in_date_range_query.rb