Sha256: 195cdcb2f420ab6b25fef096b064f2a665491fd301c3b779e187fc94ecb52adf

Contents?: true

Size: 654 Bytes

Versions: 18

Compression:

Stored size: 654 Bytes

Contents

# frozen_string_literal: true

require "attr_extras"

module Renalware
  module HD
    class ProfilesInDateRangeQuery
      pattr_initialize [:patient!, :from!, :to!]

      def call
        scope = Renalware::HD::Profile
          .with_deactivated
          .order(created_at: :asc, deactivated_at: :desc)

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

      private

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

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
renalware-core-2.0.108 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.106 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.105 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.104 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.103 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.102 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.101 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.100 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.99 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.98 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.97 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.96 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.95 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.94 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.93 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.92 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.91 app/models/renalware/hd/profiles_in_date_range_query.rb
renalware-core-2.0.90 app/models/renalware/hd/profiles_in_date_range_query.rb