Sha256: 90c4a89da3facd313780e5f270fdb7da0db3620a5b838695f001b0376885efe8
Contents?: true
Size: 860 Bytes
Versions: 1
Compression:
Stored size: 860 Bytes
Contents
module CurationConcerns::ParentContainer extend ActiveSupport::Concern included do helper_method :parent end # TODO: this is slow, refactor to return a Presenter (fetch from solr) def parent @parent ||= new_or_create? ? find_parent_by_id : lookup_parent_from_child end def find_parent_by_id ActiveFedora::Base.find(parent_id) end def lookup_parent_from_child # in_objects method is inherited from Hydra::PCDM::ObjectBehavior return curation_concern.in_objects.first if curation_concern return CurationConcerns::ParentService.parent_for(@presenter.id) if @presenter raise "no child" end def parent_id @parent_id ||= new_or_create? ? params[:parent_id] : curation_concern.generic_works.in_objects.first.id end protected def new_or_create? %w(create new).include? action_name end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
curation_concerns-0.6.0 | app/controllers/concerns/curation_concerns/parent_container.rb |