Sha256: 99b267bbe52da49d7137f49e0d72b715263146fd2cb97c9ac16896d52cd46508

Contents?: true

Size: 790 Bytes

Versions: 10

Compression:

Stored size: 790 Bytes

Contents

module Ddr
  class Component < Resource

    include Captionable
    include Embargoable
    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

10 entries across 10 versions & 1 rubygems

Version Path
ddr-core-1.5.5 app/models/ddr/component.rb
ddr-core-1.5.4 app/models/ddr/component.rb
ddr-core-1.5.2 app/models/ddr/component.rb
ddr-core-1.5.3 app/models/ddr/component.rb
ddr-core-1.5.1 app/models/ddr/component.rb
ddr-core-1.4.4 app/models/ddr/component.rb
ddr-core-1.4.3 app/models/ddr/component.rb
ddr-core-1.4.2 app/models/ddr/component.rb
ddr-core-1.4.0 app/models/ddr/component.rb
ddr-core-1.3.0 app/models/ddr/component.rb