Skip to content

Instantly share code, notes, and snippets.

@jambun
Created April 17, 2020 04:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jambun/a36a7234fbff80d05b43d73f9acd1a29 to your computer and use it in GitHub Desktop.
Save jambun/a36a7234fbff80d05b43d73f9acd1a29 to your computer and use it in GitHub Desktop.
worky but duplicated propagate logic
def self.attach_raps(model_class, ids, rap)
RAP.filter(:"#{model_class.table_name}_id" => ids).update(RAPs.supported_models.map {|model| [:"#{model.table_name}_id", nil]}.to_h)
model_class.filter(:id => ids).each do |obj|
RAP.create_from_json(JSONModel(:rap).from_hash(rap), {:"#{obj.class.table_name}_id" => obj.id})
obj.mark_as_system_modified
if obj.is_a?(ArchivalObject)
Resource.rap_needs_propagate(obj.root_record_id)
elsif obj.is_a?(Resource)
Resource.rap_needs_propagate(obj.id)
else
# Representations
ao = ArchivalObject[obj.archival_object_id]
Resource.rap_needs_propagate(ao.root_record_id, obj.archival_object_id)
end
force_unpublish_for_restricted(model_class, obj.id)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment