class ChefCLI::Policyfile::SourceURI

Constants

VALID_SCHEMES

Public Class Methods

parse(uri) click to toggle source

Returns a URI object based on the parsed string.

@param [String, Addressable::URI, to_str] uri The URI string to parse. No parsing is performed if the object is already an Addressable::URI.

@raise [ChefCLI::InvalidPolicyfileSourceURI]

@return [ChefCLI::Policyfile::SourceURI]

Calls superclass method
# File lib/chef-cli/policyfile/source_uri.rb, line 37
def parse(uri)
  parsed_uri = super(uri)
  parsed_uri.send(:validate)
  parsed_uri
rescue TypeError, ArgumentError => ex
  raise ChefCLI::InvalidPolicyfileSourceURI.new(uri, ex)
end

Public Instance Methods

validate() click to toggle source

@raise [ChefCLI::InvalidPolicyfileSourceURI]

Calls superclass method
# File lib/chef-cli/policyfile/source_uri.rb, line 49
def validate
  super

  unless VALID_SCHEMES.include?(scheme)
    raise InvalidPolicyfileSourceURI.new(self, "invalid URI scheme '#{scheme}'. Valid schemes: #{VALID_SCHEMES}")
  end
rescue Addressable::URI::InvalidURIError => ex
  raise InvalidPolicyfileSourceURI.new(self, ex)
end