Module: Zypper::Upgraderepo::Traversable

Included in:
Requests::HttpRequest, Requests::LocalRequest
Defined in:
lib/zypper/upgraderepo/traversable.rb

Instance Method Summary collapse

Instance Method Details

#traverse_url(uri, version) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/zypper/upgraderepo/traversable.rb', line 6

def traverse_url(uri, version)
  ping(uri)

  if available? && !has_repodata?(uri)
    return { url: '', message: 'This repository doesn\'t seem working and should be disabled.'}
  elsif forbidden?
    res =  { url: url, message: 'Can\'t navigate through the repository!' }
  elsif available? && uri.to_s =~ /#{version}/
    res = traverse_url_forward(uri, version)
  else
    res = traverse_url_backward(uri, version)
  end

  res || { url: '', message: 'Can\'t find a valid alternative, try manually!' }
end