$19 GRAYBYTE WORDPRESS FILE MANAGER $39

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/ruby22/lib64/ruby/2.2.0/rubygems/resolver/

HOME
Current File : /opt/alt/ruby22/lib64/ruby/2.2.0/rubygems/resolver//api_set.rb
##
# The global rubygems pool, available via the rubygems.org API.
# Returns instances of APISpecification.

class Gem::Resolver::APISet < Gem::Resolver::Set

  ##
  # The URI for the dependency API this APISet uses.

  attr_reader :dep_uri # :nodoc:

  ##
  # The Gem::Source that gems are fetched from

  attr_reader :source

  ##
  # The corresponding place to fetch gems.

  attr_reader :uri

  ##
  # Creates a new APISet that will retrieve gems from +uri+ using the RubyGems
  # API URL +dep_uri+ which is described at
  # http://guides.rubygems.org/rubygems-org-api

  def initialize dep_uri = 'https://rubygems.org/api/v1/dependencies'
    super()

    dep_uri = URI dep_uri unless URI === dep_uri # for ruby 1.8

    @dep_uri = dep_uri
    @uri     = dep_uri + '../..'

    @data   = Hash.new { |h,k| h[k] = [] }
    @source = Gem::Source.new @uri

    @to_fetch = []
  end

  ##
  # Return an array of APISpecification objects matching
  # DependencyRequest +req+.

  def find_all req
    res = []

    return res unless @remote

    if @to_fetch.include?(req.name)
      prefetch_now
    end

    versions(req.name).each do |ver|
      if req.dependency.match? req.name, ver[:number]
        res << Gem::Resolver::APISpecification.new(self, ver)
      end
    end

    res
  end

  ##
  # A hint run by the resolver to allow the Set to fetch
  # data for DependencyRequests +reqs+.

  def prefetch reqs
    return unless @remote
    names = reqs.map { |r| r.dependency.name }
    needed = names - @data.keys - @to_fetch

    @to_fetch += needed
  end

  def prefetch_now # :nodoc:
    needed, @to_fetch = @to_fetch, []

    uri = @dep_uri + "?gems=#{needed.sort.join ','}"
    str = Gem::RemoteFetcher.fetcher.fetch_path uri

    loaded = []

    Marshal.load(str).each do |ver|
      name = ver[:name]

      @data[name] << ver
      loaded << name
    end

    (needed - loaded).each do |missing|
      @data[missing] = []
    end
  end

  def pretty_print q # :nodoc:
    q.group 2, '[APISet', ']' do
      q.breakable
      q.text "URI: #{@dep_uri}"

      q.breakable
      q.text 'gem names:'
      q.pp @data.keys
    end
  end

  ##
  # Return data for all versions of the gem +name+.

  def versions name # :nodoc:
    if @data.key?(name)
      return @data[name]
    end

    uri = @dep_uri + "?gems=#{name}"
    str = Gem::RemoteFetcher.fetcher.fetch_path uri

    Marshal.load(str).each do |ver|
      @data[ver[:name]] << ver
    end

    @data[name]
  end

end



Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2024 10.43 PM
root / linksafe
0755
activation_request.rb
3.375 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
api_set.rb
2.429 KB
7 Dec 2014 12.53 AM
root / linksafe
0644
api_specification.rb
1.923 KB
7 Dec 2014 12.53 AM
root / linksafe
0644
best_set.rb
1.577 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
composed_set.rb
1.155 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
conflict.rb
3.333 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
current_set.rb
0.246 KB
19 Nov 2013 12.34 AM
root / linksafe
0644
dependency_request.rb
2.215 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
git_set.rb
2.852 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
git_specification.rb
1.256 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
index_set.rb
1.393 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
index_specification.rb
1.453 KB
19 Nov 2013 12.34 AM
root / linksafe
0644
installed_specification.rb
1.186 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
installer_set.rb
4.898 KB
7 Dec 2014 12.53 AM
root / linksafe
0644
local_specification.rb
0.759 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
lock_set.rb
1.701 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
lock_specification.rb
1.741 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
requirement_list.rb
1.306 KB
8 Dec 2013 1.22 AM
root / linksafe
0644
set.rb
1.194 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
spec_specification.rb
1.028 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
specification.rb
2.279 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
stats.rb
0.898 KB
8 Dec 2013 1.22 AM
root / linksafe
0644
vendor_set.rb
1.882 KB
14 Sep 2014 3.30 AM
root / linksafe
0644
vendor_specification.rb
0.537 KB
14 Sep 2014 3.30 AM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF