Sha256: de083afe62a1ad17161e1f782129d14d7912cc6988ecb9aef81f191c7266452a

Contents?: true

Size: 766 Bytes

Versions: 4

Compression:

Stored size: 766 Bytes

Contents

module Ddr
  class Component < Resource

    include Captionable
    include HasContent
    include HasExtractedText
    include HasIntermediateFile
    include HasMultiresImage
    include HasParent
    include HasStructMetadata
    include Streamable

    alias_method :item_id, :parent_id
    alias_method :item, :parent

    attribute :target_id, Valkyrie::Types::ID.optional

    self.parent_class = Ddr::Item

    def collection
      self.parent.parent rescue nil
    end

    def collection_id
      self.collection.id rescue nil
    end

    def target
      Ddr.query_service.find_by(id: target_id) if target_id
    end

    def inherited_roles
      if has_parent?
        super | parent.policy_roles
      else
        super
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ddr-core-1.2.0 app/models/ddr/component.rb
ddr-core-1.2.0.rc3 app/models/ddr/component.rb
ddr-core-1.2.0.rc2 app/models/ddr/component.rb
ddr-core-1.2.0.rc1 app/models/ddr/component.rb