Module: RecordChildren::ClassMethods
- Defined in:
 - frontend/app/models/mixins/record_children.rb
 
Instance Method Summary (collapse)
- 
  
    
      - (Object) child_type 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) clean(child) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) clean_dates(child) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) clean_notes(child) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) from_hash(hash, raise_errors = true, trusted = false) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) note_types_for_child 
    
    
  
  
  
  
  
  
  
  
  
    
 
Instance Method Details
- (Object) child_type
      13 14 15  | 
    
      # File 'frontend/app/models/mixins/record_children.rb', line 13 def child_type JSONModel.parse_jsonmodel_ref(self.schema['properties']['children']['items']['type']).first end  | 
  
- (Object) clean(child)
      60 61 62 63  | 
    
      # File 'frontend/app/models/mixins/record_children.rb', line 60 def clean(child) clean_dates(child) clean_notes(child) end  | 
  
- (Object) clean_dates(child)
      24 25 26 27 28 29 30 31 32  | 
    
      # File 'frontend/app/models/mixins/record_children.rb', line 24 def clean_dates(child) if child["dates"] if child["dates"][0].reject{|k,v| v.blank?}.empty? child.delete("dates") elsif child["dates"][0]["label"].empty? child["dates"][0]["label"] = "other" end end end  | 
  
- (Object) clean_notes(child)
      34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58  | 
    
      # File 'frontend/app/models/mixins/record_children.rb', line 34 def clean_notes(child) if child["notes"] (0..2).each do |i| if not child["notes"][i]["type"].blank? note_types_for_child.each do |notetype| if JSONModel.enum_values(JSONModel(notetype).schema['properties']['type']['dynamic_enum']).include?(child["notes"][i]["type"]) child["notes"][i]["jsonmodel_type"] = notetype.to_s end end child["notes"][i]["publish"] = true # Multipart and biog/hist notes use a 'text' subnote type for their content. if ['note_multipart', 'note_bioghist'].include?(child["notes"][i]["jsonmodel_type"]) child["notes"][i]["subnotes"] = [{"jsonmodel_type" => "note_text", "content" => child["notes"][i]["content"].join(" ")}] end elsif child["notes"][i]["type"].blank? and child["notes"][i]["content"][0].blank? child["notes"][i] = nil end end child["notes"].compact! end end  | 
  
- (Object) from_hash(hash, raise_errors = true, trusted = false)
      65 66 67 68 69  | 
    
      # File 'frontend/app/models/mixins/record_children.rb', line 65 def from_hash(hash, raise_errors = true, trusted = false) hash["children"].each {|child| clean(child)} super end  | 
  
- (Object) note_types_for_child
      18 19 20 21 22  | 
    
      # File 'frontend/app/models/mixins/record_children.rb', line 18 def note_types_for_child JSONModel(child_type).schema['properties']['notes']['items']['type'].map {|ref| JSONModel.parse_jsonmodel_ref(ref['type']).first } end  |