# File lib/aws/core/options/validator.rb, line 42 def validate! request_options, rules = @rules # Verify all required options are present. rules.each_pair do |opt_name, opt_rules| if opt_rules[:required] unless request_options.key?(opt_name) raise ArgumentError, "missing required option #{opt_name.inspect}" end end end request_options.inject({}) do |options, (opt_name, value)| # Ensure this is a valid/accepted option unless rules.key?(opt_name) raise ArgumentError, "unexpected option #{opt_name.inspect}" end # Validate and convert the value valid_value = validate_value(rules[opt_name], value, opt_name) options.merge(opt_name => valid_value) end end