Class: CollectionManagement

Inherits:
Sequel::Model
  • Object
show all
Includes:
ASModel, ExternalIDs
Defined in:
backend/app/model/collection_management.rb

Constant Summary

Constants included from JSONModel

JSONModel::REFERENCE_KEY_REGEX

Class Method Summary collapse

Methods included from ExternalIDs

included

Methods included from ASModel

all_models, included, update_publish_flag, update_suppressed_flag

Methods included from JSONModel

JSONModel, #JSONModel, add_error_handler, all, allow_unmapped_enum_value, backend_url, check_valid_refs, 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_publish_flags!, set_repository, strict_mode, strict_mode?, validate_schema, with_repository

Class Method Details

.sequel_to_jsonmodel(objs, opts = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'backend/app/model/collection_management.rb', line 9

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

  jsons.zip(objs).each do |json, obj|
    parent_uri = if obj.resource_id
                   JSONModel(:resource).uri_for(obj.resource_id, :repo_id => active_repository)
                 elsif obj.digital_object_id
                   JSONModel(:digital_object).uri_for(obj.digital_object_id, :repo_id => active_repository)
                 elsif obj.accession_id
                   JSONModel(:accession).uri_for(obj.accession_id, :repo_id => active_repository)
                 end

    if parent_uri
      json['parent'] = {
        'ref' => parent_uri
      }
    end
  end

  jsons
end