Sha256: 841f34e4b37a3d4f3f4190e8e28bd11507198adace08dd839f653a0722361685
Contents?: true
Size: 952 Bytes
Versions: 2
Compression:
Stored size: 952 Bytes
Contents
require 'resync' require_relative 'resource_client_delegate' module Resync class Client module Mixins # A resource container whose resources are, themselves, resource containers module ListIndex prepend ResourceClientDelegate # Downloads and parses each resource list and returns a flattened enumeration # of all resources in each contained list. Each contained list is only downloaded # as needed, and only downloaded once. # @return [Enumerator::Lazy<Resync::Resource>] the flattened enumeration of resources def all_resources @resource_lists ||= {} resources.flat_map do |r| @resource_lists[r] ||= r.get_and_parse @resource_lists[r].resources end end end end end class ChangeListIndex prepend Client::Mixins::ListIndex end class ResourceListIndex prepend Client::Mixins::ListIndex end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
resync-client-0.2.5 | lib/resync/client/mixins/list_index.rb |
resync-client-0.2.4 | lib/resync/client/mixins/list_index.rb |