Sha256: e3d352eed0a169cbcbfa54259a5866b2fdd47a12b81b79a529ffc97624e11a64

Contents?: true

Size: 584 Bytes

Versions: 4

Compression:

Stored size: 584 Bytes

Contents

# frozen_string_literal: true
module Hyrax
  ##
  # @abstract Propagates visibility from a provided object (e.g. a Work) to some
  # group of its members (e.g. file_sets).
  class VisibilityPropagator
    ##
    # @param source [#visibility] the object to propagate visibility from
    #
    # @return [#propagate]
    def self.for(source:)
      case source
      when Hyrax::WorkBehavior # ActiveFedora
        FileSetVisibilityPropagator.new(source: source)
      when Hyrax::Resource # Valkyrie
        ResourceVisibilityPropagator.new(source: source)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hyrax-3.0.0 app/services/hyrax/visibility_propagator.rb
hyrax-3.0.0.pre.rc4 app/services/hyrax/visibility_propagator.rb
hyrax-3.0.0.pre.rc3 app/services/hyrax/visibility_propagator.rb
hyrax-3.0.0.pre.rc2 app/services/hyrax/visibility_propagator.rb