Sha256: 07572413960f3fe47f22ad025cdead5f1304056551e1b1c7b0c92ce8d43299bd

Contents?: true

Size: 1.02 KB

Versions: 12

Compression:

Stored size: 1.02 KB

Contents

require 'resync'
require_relative '../zip'
require_relative '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

12 entries across 12 versions & 1 rubygems

Version Path
resync-client-0.4.3 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.4.2 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.4.1 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.4.0 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.3.5 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.3.4 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.3.3 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.3.2 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.3.1 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.3.0 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.2.5 lib/resync/client/mixins/dump_manifest.rb
resync-client-0.2.4 lib/resync/client/mixins/dump_manifest.rb