Sha256: 1c7855843710d1a7d8c2389af41f44c3165fbca365ef8cd79dca9b8759f94de1

Contents?: true

Size: 683 Bytes

Versions: 149

Compression:

Stored size: 683 Bytes

Contents

# frozen_string_literal: true

require_dependency "renalware/pathology"

module Renalware
  module Pathology
    # Responsible for finding the series of unique `observed_at` dates for an
    # Observation relation.
    #
    class DetermineObservationDateSeries
      def initialize(relation: Observation)
        @relation = relation
      end

      # @return Array: e.g.
      # [
      #   Date.parse("2010-01-01"),
      #   Date.parse("2010-01-02"),
      #   Date.parse("2010-01-03")
      # ]
      #
      def call
        @relation
          .order("DATE(observed_at) DESC")
          .pluck("DISTINCT ON (DATE(observed_at)) DATE(observed_at)")
      end
    end
  end
end

Version data entries

149 entries across 149 versions & 1 rubygems

Version Path
renalware-core-2.0.18 app/models/renalware/pathology/determine_observation_date_series.rb
renalware-core-2.0.17 app/models/renalware/pathology/determine_observation_date_series.rb
renalware-core-2.0.16 app/models/renalware/pathology/determine_observation_date_series.rb
renalware-core-2.0.15 app/models/renalware/pathology/determine_observation_date_series.rb
renalware-core-2.0.14 app/models/renalware/pathology/determine_observation_date_series.rb
renalware-core-2.0.13 app/models/renalware/pathology/determine_observation_date_series.rb
renalware-core-2.0.12 app/models/renalware/pathology/determine_observation_date_series.rb
renalware-core-2.0.11 app/models/renalware/pathology/determine_observation_date_series.rb
renalware-core-2.0.9 app/models/renalware/pathology/determine_observation_date_series.rb