class Aws::Endpoints::RulesProvider

This class is deprecated. It is used by the Runtime endpoint resolution approach. It has been replaced by a code generated approach in each service gem. It can be removed in a new major version. It has to exist because old service gems can use a new core version. @api private

Public Class Methods

new(rule_set) click to toggle source
# File lib/aws-sdk-core/endpoints/rules_provider.rb, line 10
def initialize(rule_set)
  @rule_set = rule_set
end

Public Instance Methods

resolve_endpoint(parameters) click to toggle source
# File lib/aws-sdk-core/endpoints/rules_provider.rb, line 14
def resolve_endpoint(parameters)
  obj = resolve_rules(parameters)
  case obj
  when Endpoint
    obj
  when ArgumentError
    raise obj
  else
    raise ArgumentError, 'No endpoint could be resolved'
  end
end

Private Instance Methods

resolve_rules(parameters) click to toggle source
# File lib/aws-sdk-core/endpoints/rules_provider.rb, line 28
def resolve_rules(parameters)
  @rule_set.rules.each do |rule|
    output = rule.match(parameters)
    return output if output
  end
  nil
end