Module: Debci::Validators::APTSource

Included in:
API, Job, SelfService
Defined in:
lib/debci/validators.rb

Instance Method Summary collapse

Instance Method Details

#invalid_extra_apt_sources(extra_apt_sources) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/debci/validators.rb', line 4

def invalid_extra_apt_sources(extra_apt_sources)
  invalid_extra_apt_sources = []
  Array(extra_apt_sources).each do |extra_apt_source|
    components = extra_apt_source.split
    if ["deb", "deb-src"].include?(components[0])
      url_arg = components[1] =~ /^\[.*?\]$/ ? components[2] : components[1]
    end
    uri = URI.parse(url_arg)
    raise URI::InvalidURIError unless uri.is_a?(URI::HTTP) && !uri.host.nil?
  rescue URI::InvalidURIError
    invalid_extra_apt_sources.push(extra_apt_source)
  end
  invalid_extra_apt_sources.join(", ")
end