Class: SubContainerToAspaceJsonMapper
  
  
  
  
    - Inherits:
 
    - 
      Object
      
        
          - Object
 
          
            - SubContainerToAspaceJsonMapper
 
          
        
        show all
      
       
    
  
  
    
  
    
      - Includes:
 
      - JSONModel
 
      
    
  
  
  
    - Defined in:
 
    - backend/app/lib/subcontainer_to_aspace_json_mapper.rb
 
  
Overview
  
    Take our record containing managed containers and generate corresponding
ArchivesSpace container records.
   
 
  
  
    
      Instance Method Summary
      (collapse)
    
    
  
  
  
  
  
  
  
  
  
  Methods included from JSONModel
  JSONModel, #JSONModel, add_error_handler, all, allow_unmapped_enum_value, backend_url, client_mode?, custom_validations, destroy_model, enum_default_value, enum_values, handle_error, init, load_schema, #models, models, parse_jsonmodel_ref, parse_reference, repository, repository_for, schema_src, set_repository, strict_mode, strict_mode?, with_repository
  Constructor Details
  
    
  
  
    Returns a new instance of SubContainerToAspaceJsonMapper
   
 
  
  
    
      
7
8
9
10 
     | 
    
      # File 'backend/app/lib/subcontainer_to_aspace_json_mapper.rb', line 7
def initialize(instance_json, instance_obj)
  @instance_json = instance_json
  @instance_obj = instance_obj
end
 
     | 
  
 
  
 
  Dynamic Method Handling
  
    This class handles dynamic methods through the method_missing method
    
  
  
    
  
  
    - (Object) method_missing(method, *args) 
  
  
  
  
    
      
52
53
54 
     | 
    
      # File 'backend/app/lib/subcontainer_to_aspace_json_mapper.rb', line 52
def method_missing(method, *args)
  nil
end
 
     | 
  
 
  
 
  
    Instance Method Details
    
      
  
  
    - (Object) barcode_1 
  
  
  
  
    
      
33
34
35 
     | 
    
      # File 'backend/app/lib/subcontainer_to_aspace_json_mapper.rb', line 33
def barcode_1
  top_container.barcode
end
 
     | 
  
 
    
      
  
  
    - (Object) container_locations 
  
  
  
  
    
      
38
39
40
41
42
43
44
45
46
47
48
49 
     | 
    
      # File 'backend/app/lib/subcontainer_to_aspace_json_mapper.rb', line 38
def container_locations
  relationship = TopContainer.find_relationship(:top_container_housed_at)
  relationship.find_by_participant(top_container).map {|container_location|
    properties = container_location.values.merge('ref' => Location.uri_for(:location, container_location[:location_id]))
    properties[:jsonmodel_type] ||= "container_location"
    properties[:start_date] = properties[:start_date].strftime('%Y-%m-%d') if properties[:start_date]
    properties[:end_date] = properties[:end_date].strftime('%Y-%m-%d') if properties[:end_date]
    JSONModel(:container_location).from_hash(properties, true, true).to_hash(:trusted)
  }
end
     | 
  
 
    
      
  
  
    - (Object) indicator_1 
  
  
  
  
    
      
28
29
30 
     | 
    
      # File 'backend/app/lib/subcontainer_to_aspace_json_mapper.rb', line 28
def indicator_1
  top_container.indicator
end
 
     | 
  
 
    
      
  
  
    - (Object) lock_version 
  
  
  
  
    
      
19
20
21 
     | 
    
      # File 'backend/app/lib/subcontainer_to_aspace_json_mapper.rb', line 19
def lock_version
      top_container.lock_version
end
     | 
  
 
    
      
  
  
    - (Object) to_hash 
  
  
  
  
    
      
13
14
15
16
17 
     | 
    
      # File 'backend/app/lib/subcontainer_to_aspace_json_mapper.rb', line 13
def to_hash
  result = Hash[JSONModel(:container).schema['properties'].map {|property, _| [property, self.send(property.intern)]}]
  result
end
     | 
  
 
    
      
  
  
    - (Object) type_1 
  
  
  
  
    
      
23
24
25 
     | 
    
      # File 'backend/app/lib/subcontainer_to_aspace_json_mapper.rb', line 23
def type_1
  top_container.type || 'box'
end
 
     |