Class: WellAttribute
  
  
  
Overview
  
    
  
    Note:
    
Try and use QcResult for any future readings, it will automatically update this table for you.
 
   
Contains qc information regarding a well, in addition to volume information to assist with Cherrypicking
   
 
  
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  alias_association, convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!
  
  
  
  
  
  
  
  
  Methods included from Squishify
  extended
  
  
  
    Instance Method Details
    
      
  
  
    #broadcast_warehouse_message  ⇒ Object 
  
  
  
  
    | 
80
81
82
83 | # File 'app/models/well_attribute.rb', line 80
def broadcast_warehouse_message
  message = Messenger.find_by(target_id: well_id)
  message.resend if message.present?
end | 
 
    
      
  
  
    #current_volume=(current_volume)  ⇒ Object 
  
  
  
  
    | 
75
76
77
78 | # File 'app/models/well_attribute.rb', line 75
def current_volume=(current_volume)
  current_volume = 0.0 if current_volume.to_f < 0
  super
end | 
 
    
      
  
  
    #estimated_volume  ⇒ Object 
  
  
  
  
    | 
53
54
55 | # File 'app/models/well_attribute.rb', line 53
def estimated_volume
  (current_volume || measured_volume).try(:to_f)
end | 
 
    
      
  
  
    #gender_markers_string  ⇒ Object 
  
  
  
  
    | 
16
17
18 | # File 'app/models/well_attribute.rb', line 16
def gender_markers_string
  gender_markers.try(:to_s)
end | 
 
    
      
  
  
    #initial_volume=(volume)  ⇒ Object 
  
  
  
  
    | 
57
58
59 | # File 'app/models/well_attribute.rb', line 57
def initial_volume=(volume)
  super if initial_volume.nil?
end | 
 
    
      
  
  
    #measured_volume=(volume)  ⇒ Object 
  
  
  
  
    | 
47
48
49
50
51 | # File 'app/models/well_attribute.rb', line 47
def measured_volume=(volume)
  self.initial_volume = volume
  self.current_volume = volume
  super
end | 
 
    
      
  
  
    #pico_pass  ⇒ Object 
  
  
  
  
    
Since Pass and Fail are used as pico_state values we're forced to use a different transition name.
   
 
  
  
    | 
36
37
38
39
40
41
42
43
44
45 | # File 'app/models/well_attribute.rb', line 36
def pico_pass
  case self[:pico_pass]
  when 'Too Low To Normalise'
    'Fail'
  when nil, ''
    'ungraded'
  else
    self[:pico_pass]
  end
end | 
 
    
      
  
  
    #quantity_in_micro_grams  ⇒ Object 
  
  
  
  
    | 
68
69
70
71
72
73 | # File 'app/models/well_attribute.rb', line 68
def quantity_in_micro_grams
  return nil if estimated_volume.nil? || concentration.nil?
  return 0 if estimated_volume < 0 || concentration < 0
  (estimated_volume * concentration) / 1000
end | 
 
    
      
  
  
    #quantity_in_nano_grams  ⇒ Object 
  
  
  
  
    | 
61
62
63
64
65
66 | # File 'app/models/well_attribute.rb', line 61
def quantity_in_nano_grams
  return nil if estimated_volume.nil? || concentration.nil?
  return 0 if estimated_volume < 0 || concentration < 0
  (estimated_volume * concentration).to_i
end |