/// <summary>
 /// Ignores the fully qualified.
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 public static void IgnoreFullyQualified(this SwaggerGenOptions swaggerGenOptions)
 {
     swaggerGenOptions.SchemaRegistryOptions.IgnoreFullyQualified = true;
 }
 /// <summary>
 /// Provide a custom strategy for selecting actions.
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="predicate">A lambda that returns true/false based on document name and ApiDescription</param>
 public static void DocInclusionPredicate(
     this SwaggerGenOptions swaggerGenOptions,
     Func <string, ApiDescription, bool> predicate)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.DocInclusionPredicate = predicate;
 }
 /// <summary>
 /// Provide a custom strategy for generating the unique Id's that are used to reference object Schema's
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="schemaIdSelector">A lambda that returns a unique identifier for the provided system type</param>
 public static void CustomSchemaIds(
     this SwaggerGenOptions swaggerGenOptions,
     Func <Type, string> schemaIdSelector)
 {
     swaggerGenOptions.SchemaRegistryOptions.SchemaIdSelector = schemaIdSelector;
 }
 /// <summary>
 /// Ignore any properties that are decorated with the ObsoleteAttribute
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 public static void IgnoreObsoleteProperties(this SwaggerGenOptions swaggerGenOptions)
 {
     swaggerGenOptions.SchemaRegistryOptions.IgnoreObsoleteProperties = true;
 }
 /// <summary>
 /// If applicable, describe all enum names, regardless of how they appear in code, in camelCase.
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 public static void DescribeStringEnumsInCamelCase(this SwaggerGenOptions swaggerGenOptions)
 {
     swaggerGenOptions.SchemaRegistryOptions.DescribeStringEnumsInCamelCase = true;
 }
 /// <summary>
 /// Use referenced definitions for enum types within body parameter and response schemas
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 public static void UseReferencedDefinitionsForEnums(this SwaggerGenOptions swaggerGenOptions)
 {
     swaggerGenOptions.SchemaRegistryOptions.UseReferencedDefinitionsForEnums = true;
 }
 /// <summary>
 /// Provide a custom mapping, for a given type, to the Swagger-flavored JSONSchema
 /// </summary>
 /// <typeparam name="T">System type</typeparam>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="schemaFactory">A factory method that generates Schema's for the provided type</param>
 public static void MapType <T>(
     this SwaggerGenOptions swaggerGenOptions,
     Func <Schema> schemaFactory)
 {
     swaggerGenOptions.MapType(typeof(T), schemaFactory);
 }
 /// <summary>
 /// Provide a custom strategy for assigning "operationId" to operations
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="operationIdSelector">The operation identifier selector.</param>
 public static void CustomOperationIds(
     this SwaggerGenOptions swaggerGenOptions,
     Func <ApiDescription, string> operationIdSelector)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.OperationIdSelector = operationIdSelector;
 }
 /// <summary>
 /// Describe all parameters, regardless of how they appear in code, in camelCase
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 public static void DescribeAllParametersInCamelCase(this SwaggerGenOptions swaggerGenOptions)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.DescribeAllParametersInCamelCase = true;
 }
 /// <summary>
 /// Adds a global security requirement
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="requirement">
 /// A dictionary of required schemes (logical AND). Keys must correspond to schemes defined through AddSecurityDefinition
 /// If the scheme is of type "oauth2", then the value is a list of scopes, otherwise it MUST be an empty array
 /// </param>
 public static void AddSecurityRequirement(
     this SwaggerGenOptions swaggerGenOptions,
     IDictionary <string, IEnumerable <string> > requirement)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.SecurityRequirements.Add(requirement);
 }
 /// <summary>
 /// Provide a custom strategy for sorting actions before they're transformed into the Swagger format
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="sortKeySelector">The sort key selector.</param>
 public static void OrderActionsBy(
     this SwaggerGenOptions swaggerGenOptions,
     Func <ApiDescription, string> sortKeySelector)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.SortKeySelector = sortKeySelector;
 }
 /// <summary>
 /// Provide a custom strategy for assigning "tags" to actions
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="tagsSelector">The tags selector.</param>
 public static void TagActionsBy(
     this SwaggerGenOptions swaggerGenOptions,
     Func <ApiDescription, IList <string> > tagsSelector)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.TagsSelector = tagsSelector;
 }
 public static void TagActionsBy(
     this SwaggerGenOptions swaggerGenOptions,
     Func <ApiDescription, string> tagSelector)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.TagsSelector = apiDesc => new[] { tagSelector(apiDesc) };
 }
 /// <summary>
 /// Documents the inclusion predicate v2.
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="predicate">The predicate.</param>
 public static void DocInclusionPredicateV2(
     this SwaggerGenOptions swaggerGenOptions,
     Func <string, ServiceEntry, bool> predicate)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.DocInclusionPredicateV2 = predicate;
 }
 /// <summary>
 /// Use the enum names, as opposed to their integer values, when describing enum types
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 public static void DescribeAllEnumsAsStrings(this SwaggerGenOptions swaggerGenOptions)
 {
     swaggerGenOptions.SchemaRegistryOptions.DescribeAllEnumsAsStrings = true;
 }
 /// <summary>
 /// Ignore any actions that are decorated with the ObsoleteAttribute
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 public static void IgnoreObsoleteActions(this SwaggerGenOptions swaggerGenOptions)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.IgnoreObsoleteActions = true;
 }
 /// <summary>
 /// Merge actions that have conflicting HTTP methods and paths (must be unique for Swagger 2.0)
 /// </summary>
 /// <param name="swaggerGenOptions">The swagger gen options.</param>
 /// <param name="resolver">The resolver.</param>
 public static void ResolveConflictingActions(
     this SwaggerGenOptions swaggerGenOptions,
     Func <IEnumerable <ApiDescription>, ApiDescription> resolver)
 {
     swaggerGenOptions.SwaggerGeneratorOptions.ConflictingActionsResolver = resolver;
 }