Class: Renalware::Renal::AKIAlertQuery

Inherits:
Object
  • Object
show all
Defined in:
app/models/renalware/renal/aki_alert_query.rb

Constant Summary collapse

DEFAULT_SORT =
"aki_date desc"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(query = nil) ⇒ AKIAlertQuery

Returns a new instance of AKIAlertQuery.



11
12
13
14
# File 'app/models/renalware/renal/aki_alert_query.rb', line 11

def initialize(query = nil)
  @query = query || {}
  @query[:s] = DEFAULT_SORT if @query[:s].blank?
end

Instance Attribute Details

#queryObject (readonly)

Returns the value of attribute query.



9
10
11
# File 'app/models/renalware/renal/aki_alert_query.rb', line 9

def query
  @query
end

Class Method Details

.call(query) ⇒ Object



16
17
18
# File 'app/models/renalware/renal/aki_alert_query.rb', line 16

def self.call(query)
  new(query).call
end

Instance Method Details

#callObject



20
21
22
# File 'app/models/renalware/renal/aki_alert_query.rb', line 20

def call
  search.result
end

#searchObject



24
25
26
27
28
29
30
31
32
# File 'app/models/renalware/renal/aki_alert_query.rb', line 24

def search
  @search ||= begin
    AKIAlert
      .joins(:patient) # required for PatientsRansackHelper - see Admission
      .includes(:patient, :updated_by, :action, hospital_ward: :hospital_unit)
      .eager_load(patient: [current_modality: :description])
      .ransack(query)
  end
end