Module: Resync::Client::Mixins::Dump

Included in:
Resync::ChangeDump, ResourceDump
Defined in:
lib/resync/client/mixins/dump.rb

Overview

A list of resources each of which refers to a zipped bitstream package.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(ext) ⇒ Object

Aliases :zip_packages as :all_zip_packages for transparent interoperability between ResourceDump and ResourceDumpIndex, ChangeDump and ChangeDumpIndex



32
33
34
# File 'lib/resync/client/mixins/dump.rb', line 32

def self.prepended(ext)
  ext.send(:alias_method, :all_zip_packages, :zip_packages)
end

Instance Method Details

#resources=(value) ⇒ Object

Makes each resource a ZippedResource



13
14
15
16
17
18
19
20
21
# File 'lib/resync/client/mixins/dump.rb', line 13

def resources=(value)
  super
  resources.each do |r|
    next if r.respond_to?(:zip_package)
    class << r
      prepend ZippedResource
    end
  end
end

#zip_packages ⇒ Array<Lazy::Promise<Resync::Client::Zip::ZipPackage>>

The Zip::ZipPackages for each resource, downloaded lazily

Returns:



25
26
27
# File 'lib/resync/client/mixins/dump.rb', line 25

def zip_packages
  @zip_packages ||= resources.map { |r| Lazy.promise { r.zip_package } }
end