Module: Chef::Mixin::Uris

Instance Method Summary collapse

Instance Method Details

#as_uri(source) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/chef/mixin/uris.rb', line 32

def as_uri(source)
  begin
    URI.parse(source)
  rescue URI::InvalidURIError
    Chef::Log.warn("#{source} was an invalid URI. Trying to escape invalid characters")
    URI.parse(URI.escape(source))
  end
end

#uri_scheme?(source) ⇒ Boolean

uri_scheme? returns true if the string starts with scheme:// For example, it will match foo.bar.com

Returns:

  • (Boolean)


27
28
29
30
# File 'lib/chef/mixin/uris.rb', line 27

def uri_scheme?(source)
  # From open-uri
  !!(%r{\A[A-Za-z][A-Za-z0-9+\-\.]*://} =~ source)
end