Class: Renalware::Pathology::ViewObservationResults

Inherits:
Object
  • Object
show all
Defined in:
app/models/renalware/pathology/view_observation_results.rb

Overview

An application service responsible for coordinating the querying of observations and the building of the observation results view model.

Instance Method Summary collapse

Constructor Details

#initialize(observations, presenter, descriptions: default_descriptions) ⇒ ViewObservationResults

Returns a new instance of ViewObservationResults.



11
12
13
14
15
# File 'app/models/renalware/pathology/view_observation_results.rb', line 11

def initialize(observations, presenter, descriptions: default_descriptions)
  @observations = observations
  @descriptions = descriptions
  @presenter = presenter
end

Instance Method Details

#call(params = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'app/models/renalware/pathology/view_observation_results.rb', line 17

def call(params = {})
  observations_for_descriptions = find_observations_for_descriptions
  observation_date_series = determine_observation_date_series(observations_for_descriptions)
  paginated_date_series = paginate(observation_date_series, params)
  date_range = build_date_range(paginated_date_series)
  observations = filter_within_date_range(observations_for_descriptions, date_range)
  results = build_results(observations)
  present(results, paginated_date_series)
end