# File lib/apipie/client/base.rb, line 48
      def validate_params!(params, rules)
        return unless params.is_a?(Hash)

        invalid_keys = params.keys.map(&:to_s) - (rules.is_a?(Hash) ? rules.keys : rules)
        raise ArgumentError, "Invalid keys: #{invalid_keys.join(", ")}" unless invalid_keys.empty?

        if rules.is_a? Hash
          rules.each do |key, sub_keys|
            validate_params!(params[key], sub_keys) if params[key]
          end
        end
      end