Module: MapToAspaceContainer::ClassMethods

Defined in:
backend/app/model/mixins/map_to_aspace_container.rb

Instance Method Summary (collapse)

Instance Method Details

- (Object) create_from_json(json, extra_values = {})



39
40
41
42
43
# File 'backend/app/model/mixins/map_to_aspace_container.rb', line 39

def create_from_json(json, extra_values = {})
  map_aspace_json_to_managed_containers(json, new_record = true)

  super
end

- (Object) map_aspace_json_to_managed_containers(aspace_instance, new_record = true)



67
68
69
# File 'backend/app/model/mixins/map_to_aspace_container.rb', line 67

def map_aspace_json_to_managed_containers(aspace_instance, new_record = true)
  MapToAspaceContainer.mapper_to_managed_container.new(aspace_instance, new_record).call
end

- (Object) map_managed_container_to_aspace_json(instance_json, instance_object)



62
63
64
65
# File 'backend/app/model/mixins/map_to_aspace_container.rb', line 62

def map_managed_container_to_aspace_json(instance_json, instance_object)
  mapper = MapToAspaceContainer.mapper_to_aspace_json.new(instance_json, instance_object)
  mapper.to_hash
end

- (Object) sequel_to_jsonmodel(objs, opts = {})



46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'backend/app/model/mixins/map_to_aspace_container.rb', line 46

def sequel_to_jsonmodel(objs, opts = {})
  jsons = super
  

  jsons.zip(objs).each do |record_json, record_obj|
    Array(record_json['instances']).zip(record_obj.instance).each do |instance_json, instance_obj|
      next unless instance_json['sub_container']

      instance_json['container'] = map_managed_container_to_aspace_json(instance_json, instance_obj)
    end
  end

  jsons
end