Class: Rubygems::Await::VersionsAwaiter

Inherits:
Awaiter
  • Object
show all
Defined in:
lib/rubygems/await.rb

Instance Attribute Summary

Attributes inherited from Awaiter

#deadline, #gems, #name_indent, #source, #source_uri

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Awaiter

#call, call, #compact_index_client, #downloader, #expired?, #format_element, #gem_remote_fetcher, #index_fetcher, #inherited, #initialize, #log, #log_error, #log_found, #process_element, #safe_load_marshal, subclasses

Constructor Details

This class inherits a constructor from Rubygems::Await::Awaiter

Class Method Details

.awaiter_nameObject



225
226
227
# File 'lib/rubygems/await.rb', line 225

def self.awaiter_name
  "versions"
end

Instance Method Details

#collectionObject



210
211
212
# File 'lib/rubygems/await.rb', line 210

def collection
  gems.group_by(&:name)
end

#process_collection(missing) ⇒ Object



214
215
216
217
218
219
220
221
222
223
# File 'lib/rubygems/await.rb', line 214

def process_collection(missing)
  versions = compact_index_client.versions
  missing.delete_if do |name, tuples|
    found = versions[name]
    tuples.delete_if do |tuple|
      found.include?(tuple.to_a - [nil, "", "ruby"]) && log_found(tuple)
    end
    tuples.empty?
  end
end