class Resync::ChangeDumpIndex

Public Instance Methods

all_zip_packages(in_range: nil) click to toggle source

Downloads and parses each resource list and returns a flattened enumeration of all zip packages in each contained list. Each contained list is only downloaded as needed, and only downloaded once. If a time range parameter is provided, the lists of packages is filtered by from_time and until_time, in non-strict mode (only excluding those lists provably not in the range, i.e., including packages without from_time or until_time). @param in_range [Range<Time>] the range of times to filter by @return [Enumerator::Lazy<Resync::Client::Zip::ZipPackage>] the flattened enumeration of packages

# File lib/resync/client/mixins/dump_index.rb, line 47
def all_zip_packages(in_range: nil)
  if in_range
    dump_resources = change_lists(in_range: in_range, strict: false)
    dump_resources.lazy.flat_map { |cl| package_for(cl, in_range: in_range) }
  else
    super()
  end
end

Private Instance Methods

package_for(r, in_range: nil) click to toggle source
# File lib/resync/client/mixins/dump_index.rb, line 58
def package_for(r, in_range: nil)
  zrl = zipped_resource_list_for(r)
  in_range ? zrl.zip_packages(in_range: in_range) : super(r)
end