@@ -38,9 +38,6 @@ def self.request_session_key
3838 if : :performed_by_user
3939 }
4040
41- INJECTION_DELIVERY_METHODS =
42- Vaccine ::AVAILABLE_DELIVERY_METHODS [ "injection" ] . freeze
43-
4441 def wizard_steps
4542 [
4643 :notes ,
@@ -207,8 +204,9 @@ def delivery_method=(value)
207204 super
208205 return if delivery_method_was . nil? # Don't clear batch on first set
209206
210- previous_value = compute_vaccine_method ( delivery_method_was )
211- new_value = compute_vaccine_method ( value )
207+ previous_value =
208+ Vaccine . delivery_method_to_vaccine_method ( delivery_method_was )
209+ new_value = Vaccine . delivery_method_to_vaccine_method ( value )
212210
213211 self . batch_id = nil unless previous_value == new_value
214212 end
@@ -248,29 +246,13 @@ def vaccine_method_matches_consent_and_triage?
248246 return true if delivery_method . blank? || !administered?
249247
250248 approved_methods = patient . approved_vaccine_methods ( programme :)
251- vaccine_method = delivery_method_to_vaccine_method ( delivery_method )
249+ vaccine_method = Vaccine . delivery_method_to_vaccine_method ( delivery_method )
252250
253251 approved_methods . include? ( vaccine_method )
254252 end
255253
256254 private
257255
258- def delivery_method_to_vaccine_method ( delivery_method )
259- return nil if delivery_method . nil?
260-
261- delivery_method . in? ( INJECTION_DELIVERY_METHODS ) ? "injection" : "nasal"
262- end
263-
264- def compute_vaccine_method ( delivery_method )
265- return nil if delivery_method . nil?
266-
267- if delivery_method . in? ( INJECTION_DELIVERY_METHODS )
268- "injection"
269- else
270- "nasal_spray"
271- end
272- end
273-
274256 def readable_attribute_names
275257 writable_attribute_names - %w[ vaccine_id ]
276258 end
@@ -328,11 +310,11 @@ def delivery_site_matches_delivery_method
328310 end
329311
330312 case delivery_method
331- when "nasal_spray"
313+ when * Vaccine :: NASAL_DELIVERY_METHODS
332314 if delivery_site != "nose"
333315 errors . add ( :delivery_site , :nasal_spray_must_be_nose )
334316 end
335- when *INJECTION_DELIVERY_METHODS
317+ when *Vaccine :: INJECTION_DELIVERY_METHODS
336318 if delivery_site == "nose"
337319 errors . add ( :delivery_site , :injection_cannot_be_nose )
338320 end
0 commit comments