123456789_123456789_123456789_123456789_123456789_

Class: Gem::Source::Installed

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
self, ::Gem::Source, ::Gem::Text, Comparable
Inherits: Gem::Source
Defined in: lib/rubygems/source/installed.rb

Overview

Represents an installed gem. This is used for dependency resolution.

Constant Summary

::Gem::Source - Inherited

FILES

Class Method Summary

::Gem::Source - Inherited

.new

Creates a new ::Gem::Source which will use the index located at #uri.

Instance Attribute Summary

::Gem::Source - Inherited

#update_cache?

Returns true when it is possible and safe to update the cache directory.

#uri

The URI this source will fetch gems from.

Instance Method Summary

::Gem::Source - Inherited

#<=>

Sources are ordered by installation preference.

#cache_dir

Returns the local directory to write #uri to.

#download

Downloads spec and writes it to Gem.dir.

#fetch_spec

Fetches a specification for the given name_tuple.

#load_specs

Loads type kind of specs fetching from @uri if the on-disk cache is out of date.

#typo_squatting?, #enforce_trailing_slash, #==,
#dependency_resolver_set

Returns a Set that can fetch specifications from this source.

#eql?

Alias for #==.

#hash, #pretty_print

::Gem::Text - Included

#clean_text

Remove any non-printable characters and make the text suitable for printing.

#format_text

Wraps text to wrap characters and optionally indents by indent characters.

#levenshtein_distance

This code is based directly on the ::Gem::Text gem implementation Returns a value representing the “cost” of transforming str1 into str2.

#truncate_text, #min3

Constructor Details

.newInstalled

This method is for internal use only.
[ GitHub ]

  
# File 'lib/rubygems/source/installed.rb', line 6

def initialize # :nodoc:
  @uri = nil
end

Instance Method Details

#<=>(other)

Installed sources sort before all other sources

[ GitHub ]

  
# File 'lib/rubygems/source/installed.rb', line 13

def <=>(other)
  case other
  when Gem::Source::Git,
       Gem::Source::Lock,
       Gem::Source::Vendor then
    -1
  when Gem::Source::Installed then
    0
  when Gem::Source then
    1
  else
    nil
  end
end

#download(spec, path)

We don’t need to download an installed gem

[ GitHub ]

  
# File 'lib/rubygems/source/installed.rb', line 31

def download(spec, path)
  nil
end

#pretty_print(q)

This method is for internal use only.
[ GitHub ]

  
# File 'lib/rubygems/source/installed.rb', line 35

def pretty_print(q) # :nodoc:
  q.text '[Installed]'
end