$71 GRAYBYTE WORDPRESS FILE MANAGER $57

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.157
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/cpanel/ea-ruby27/root/usr/share/ruby/ruby-2.7.8/rubygems/resolver/

HOME
Current File : /opt/cpanel/ea-ruby27/root/usr/share/ruby/ruby-2.7.8/rubygems/resolver//api_set.rb
# frozen_string_literal: true
##
# 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
  # https://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
..
--
21 Mar 2024 10.21 AM
root / root
0755
molinillo
--
21 Mar 2024 10.21 AM
root / root
0755
activation_request.rb
2.854 KB
30 Mar 2023 12.34 PM
root / root
0644
api_set.rb
2.463 KB
30 Mar 2023 12.34 PM
root / root
0644
api_specification.rb
2.189 KB
30 Mar 2023 12.34 PM
root / root
0644
best_set.rb
1.613 KB
30 Mar 2023 12.34 PM
root / root
0644
composed_set.rb
1.188 KB
30 Mar 2023 12.34 PM
root / root
0644
conflict.rb
3.253 KB
30 Mar 2023 12.34 PM
root / root
0644
current_set.rb
0.275 KB
30 Mar 2023 12.34 PM
root / root
0644
dependency_request.rb
2.285 KB
30 Mar 2023 12.34 PM
root / root
0644
git_set.rb
2.885 KB
30 Mar 2023 12.34 PM
root / root
0644
git_specification.rb
1.27 KB
30 Mar 2023 12.34 PM
root / root
0644
index_set.rb
1.414 KB
30 Mar 2023 12.34 PM
root / root
0644
index_specification.rb
1.479 KB
30 Mar 2023 12.34 PM
root / root
0644
installed_specification.rb
1.217 KB
30 Mar 2023 12.34 PM
root / root
0644
installer_set.rb
5.018 KB
30 Mar 2023 12.34 PM
root / root
0644
local_specification.rb
0.788 KB
30 Mar 2023 12.34 PM
root / root
0644
lock_set.rb
1.668 KB
30 Mar 2023 12.34 PM
root / root
0644
lock_specification.rb
1.816 KB
30 Mar 2023 12.34 PM
root / root
0644
molinillo.rb
0.08 KB
30 Mar 2023 12.34 PM
root / root
0644
requirement_list.rb
1.337 KB
30 Mar 2023 12.34 PM
root / root
0644
set.rb
1.242 KB
30 Mar 2023 12.34 PM
root / root
0644
source_set.rb
0.881 KB
30 Mar 2023 12.34 PM
root / root
0644
spec_specification.rb
1.058 KB
30 Mar 2023 12.34 PM
root / root
0644
specification.rb
2.336 KB
30 Mar 2023 12.34 PM
root / root
0644
stats.rb
0.937 KB
30 Mar 2023 12.34 PM
root / root
0644
vendor_set.rb
1.914 KB
30 Mar 2023 12.34 PM
root / root
0644
vendor_specification.rb
0.567 KB
30 Mar 2023 12.34 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF