Class: Renalware::Letters::LetterFactory

Inherits:
Object
  • Object
show all
Defined in:
app/models/renalware/letters/letter_factory.rb

Instance Method Summary collapse

Constructor Details

#initialize(patient, params = {}) ⇒ LetterFactory

Returns a new instance of LetterFactory.



8
9
10
11
12
# File 'app/models/renalware/letters/letter_factory.rb', line 8

def initialize(patient, params = {})
  @params = LetterParamsProcessor.new(patient).call(params)
  @patient = Letters.cast_patient(patient)
  @default_ccs = []
end

Instance Method Details

#buildObject



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

def build
  @electronic_cc_recipient_ids = params.delete(:electronic_cc_recipient_ids)
  @letter = build_letter
  build_electronic_ccs
  include_primary_care_physician_as_default_main_recipient
  assign_default_ccs
  build_salutation
  letter.pathology_timestamp = Time.zone.now
  letter
end

#with_contacts_as_default_ccsObject



25
26
27
28
29
# File 'app/models/renalware/letters/letter_factory.rb', line 25

def with_contacts_as_default_ccs
  @default_ccs = contacts_with_default_cc_option

  self
end