Class: Renalware::Letters::LettersInProgressComponent

Inherits:
ApplicationComponent
  • Object
show all
Defined in:
app/components/renalware/letters/letters_in_progress_component.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from ApplicationComponent

#policy, #renalware

Constructor Details

#initialize(current_user:) ⇒ LettersInProgressComponent

Returns a new instance of LettersInProgressComponent.



8
9
10
# File 'app/components/renalware/letters/letters_in_progress_component.rb', line 8

def initialize(current_user:)
  @current_user = current_user
end

Instance Attribute Details

#current_userObject (readonly)

Returns the value of attribute current_user.



6
7
8
# File 'app/components/renalware/letters/letters_in_progress_component.rb', line 6

def current_user
  @current_user
end

Instance Method Details

#letters_in_progressObject

Note we want oldest letters ordered first here - elsewhere letters are newest first



13
14
15
16
17
18
19
20
21
22
23
# File 'app/components/renalware/letters/letters_in_progress_component.rb', line 13

def letters_in_progress
  @letters_in_progress ||= begin
    present_letters(
      Letters::Letter
        .reversed
        .where("author_id = ? or created_by_id = ?", current_user.id, current_user.id)
        .in_progress
        .includes(:author, :patient, :letterhead)
    )
  end
end