Sha256: 3f0ecc864eb5706d251a60c5d64086c88064a6960a24506339e03c8610c358fb

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

require 'resync'
require 'resync/client/zip'
require 'resync/client/mixins/bitstream_resource'

module Resync
  class Client
    module Mixins
      # A list of resources within a single zipped bitstream package, e.g. as provided
      # by the package manifest.
      #
      # @!attribute [rw] zip_package
      #   @return [ZipPackage] the package.
      module DumpManifest
        attr_accessor :zip_package

        # Makes each provided resource a {BitstreamResource}
        # @param value [Array<Resource>] the resources for this list
        def resources=(value)
          super
          resources.each do |r|
            unless r.respond_to?(:bitstream) && r.respond_to?(:containing_package)
              class << r
                prepend BitstreamResource
              end
            end
            r.zip_package_delegate = self
          end
        end
      end
    end
  end

  class ResourceDumpManifest
    prepend Client::Mixins::DumpManifest
  end

  class ChangeDumpManifest
    prepend Client::Mixins::DumpManifest
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
resync-client-0.4.7 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.4.6 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.4.5 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.4.4 lib/resync/client/mixins/dump_manifest.rb