[Sinatra][Nancyfx] fix enum in Sinatra and nancyfx (#3532)

* fix enum in sintra and nancyfx

* add isContainer check for sinatra allowable value

* fix EOL in nancyfx enum template
This commit is contained in:
wing328 2016-08-05 16:30:59 +08:00 committed by GitHub
parent 125338a081
commit 47738f6cd6
6 changed files with 26 additions and 14 deletions

View File

@ -1,4 +1,10 @@
/// <summary> /// <summary>
/// {{#description}}{{.}}{{/description}}{{^description}}{{classname}}{{/description}} /// {{#description}}{{.}}{{/description}}{{^description}}{{classname}}{{/description}}
/// </summary> /// </summary>
public enum {{>innerApiEnumName}} { {{#allowableValues}}{{#values}}{{&.}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}} }; public enum {{>innerApiEnumName}}
{
{{#allowableValues}}
{{#values}} {{&.}}{{^-last}}, {{/-last}}
{{/values}}
{{/allowableValues}}
};

View File

@ -1 +1 @@
{{#datatypeWithEnum}}{{operationId}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} {{#datatypeWithEnum}}{{operationId}}{{^isContainer}}{{.}}{{/isContainer}}{{#isContainer}}{{{items.datatypeWithEnum}}}{{/isContainer}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}

View File

@ -18,7 +18,7 @@ MyApp.add_route('{{httpMethod}}', '{{basePathWithoutHost}}{{path}}', {
"dataType" => "{{dataType}}", "dataType" => "{{dataType}}",
"paramType" => "query", "paramType" => "query",
{{#collectionFormat}}"collectionFormat" => "{{collectionFormat}}",{{/collectionFormat}} {{#collectionFormat}}"collectionFormat" => "{{collectionFormat}}",{{/collectionFormat}}
"allowableValues" => "{{allowableValues}}", "allowableValues" => "{{^isContainer}}{{{allowableValues.values}}}{{/isContainer}}",
{{#defaultValue}}"defaultValue" => "{{{defaultValue}}}"{{/defaultValue}} {{#defaultValue}}"defaultValue" => "{{{defaultValue}}}"{{/defaultValue}}
}, },
{{/queryParams}} {{/queryParams}}

View File

@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012 # Visual Studio 2012
VisualStudioVersion = 12.0.0.0 VisualStudioVersion = 12.0.0.0
MinimumVisualStudioVersion = 10.0.0.1 MinimumVisualStudioVersion = 10.0.0.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IO.Swagger", "src\IO.Swagger\IO.Swagger.csproj", "{4E6FF76E-03ED-499F-B05C-4315904C488E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IO.Swagger", "src\IO.Swagger\IO.Swagger.csproj", "{D198220E-91F6-402F-966F-8EF6105B1B75}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -10,10 +10,10 @@ Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4E6FF76E-03ED-499F-B05C-4315904C488E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D198220E-91F6-402F-966F-8EF6105B1B75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4E6FF76E-03ED-499F-B05C-4315904C488E}.Debug|Any CPU.Build.0 = Debug|Any CPU {D198220E-91F6-402F-966F-8EF6105B1B75}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4E6FF76E-03ED-499F-B05C-4315904C488E}.Release|Any CPU.ActiveCfg = Release|Any CPU {D198220E-91F6-402F-966F-8EF6105B1B75}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4E6FF76E-03ED-499F-B05C-4315904C488E}.Release|Any CPU.Build.0 = Release|Any CPU {D198220E-91F6-402F-966F-8EF6105B1B75}.Release|Any CPU.Build.0 = Release|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU

View File

@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{4E6FF76E-03ED-499F-B05C-4315904C488E}</ProjectGuid> <ProjectGuid>{D198220E-91F6-402F-966F-8EF6105B1B75}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>IO.Swagger.v2</RootNamespace> <RootNamespace>IO.Swagger.v2</RootNamespace>

View File

@ -12,7 +12,13 @@ namespace IO.Swagger.v2.Modules
/// <summary> /// <summary>
/// Status values that need to be considered for filter /// Status values that need to be considered for filter
/// </summary> /// </summary>
public enum FindPetsByStatusList&lt;StatusEnum&gt; { }; public enum FindPetsByStatusStatusEnum
{
available,
pending,
sold
};
/// <summary> /// <summary>
/// Module processing requests of Pet domain. /// Module processing requests of Pet domain.
@ -46,7 +52,7 @@ namespace IO.Swagger.v2.Modules
Get["/pet/findByStatus"] = parameters => Get["/pet/findByStatus"] = parameters =>
{ {
var status = Parameters.ValueOf<FindPetsByStatusList&lt;StatusEnum&gt;?>(parameters, Context.Request, "status", ParameterType.Query); var status = Parameters.ValueOf<FindPetsByStatusStatusEnum?>(parameters, Context.Request, "status", ParameterType.Query);
Preconditions.IsNotNull(status, "Required parameter: 'status' is missing at 'FindPetsByStatus'"); Preconditions.IsNotNull(status, "Required parameter: 'status' is missing at 'FindPetsByStatus'");
return service.FindPetsByStatus(Context, status); return service.FindPetsByStatus(Context, status);
@ -128,7 +134,7 @@ namespace IO.Swagger.v2.Modules
/// <param name="context">Context of request</param> /// <param name="context">Context of request</param>
/// <param name="status">Status values that need to be considered for filter</param> /// <param name="status">Status values that need to be considered for filter</param>
/// <returns>List&lt;Pet&gt;</returns> /// <returns>List&lt;Pet&gt;</returns>
List<Pet> FindPetsByStatus(NancyContext context, FindPetsByStatusList&lt;StatusEnum&gt;? status); List<Pet> FindPetsByStatus(NancyContext context, FindPetsByStatusStatusEnum? status);
/// <summary> /// <summary>
/// Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. /// Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
@ -190,7 +196,7 @@ namespace IO.Swagger.v2.Modules
DeletePet(petId, apiKey); DeletePet(petId, apiKey);
} }
public virtual List<Pet> FindPetsByStatus(NancyContext context, FindPetsByStatusList&lt;StatusEnum&gt;? status) public virtual List<Pet> FindPetsByStatus(NancyContext context, FindPetsByStatusStatusEnum? status)
{ {
return FindPetsByStatus(status); return FindPetsByStatus(status);
} }
@ -224,7 +230,7 @@ namespace IO.Swagger.v2.Modules
protected abstract void DeletePet(long? petId, string apiKey); protected abstract void DeletePet(long? petId, string apiKey);
protected abstract List<Pet> FindPetsByStatus(FindPetsByStatusList&lt;StatusEnum&gt;? status); protected abstract List<Pet> FindPetsByStatus(FindPetsByStatusStatusEnum? status);
protected abstract List<Pet> FindPetsByTags(List<string> tags); protected abstract List<Pet> FindPetsByTags(List<string> tags);