class Zypper::Upgraderepo::Request

Public Class Methods

build(repo, timeout) click to toggle source
# File lib/zypper/upgraderepo/request.rb, line 12
def self.build(repo, timeout)
  @@registry ||= self.load_requests

  raise InvalidProtocol, repo unless @@registry.include? repo.protocol

  Object.const_get(@@registry[repo.protocol]).new(repo, timeout)
end
protocols() click to toggle source
# File lib/zypper/upgraderepo/request.rb, line 20
def self.protocols
  self.load_requests.keys
end

Private Class Methods

load_requests() click to toggle source
# File lib/zypper/upgraderepo/request.rb, line 26
def self.load_requests
  res = {}
  Requests.constants.each do |klass|
    Object.const_get("Zypper::Upgraderepo::Requests::#{klass}").register_protocol.each do |protocol|
      res[protocol] = "Zypper::Upgraderepo::Requests::#{klass}"
    end
  end

  res
end