Package io.swagger.codegen.languages
Class RubyClientCodegen
- java.lang.Object
-
- io.swagger.codegen.DefaultCodegen
-
- io.swagger.codegen.languages.RubyClientCodegen
-
- All Implemented Interfaces:
CodegenConfig
public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig
-
-
Field Summary
Fields Modifier and Type Field Description protected String
apiDocPath
protected static int
emptyMethodNameCounter
static String
GEM_AUTHOR
static String
GEM_AUTHOR_EMAIL
static String
GEM_DESCRIPTION
static String
GEM_HOMEPAGE
static String
GEM_LICENSE
static String
GEM_NAME
static String
GEM_REQUIRED_RUBY_VERSION
static String
GEM_SUMMARY
static String
GEM_VERSION
protected String
gemAuthor
protected String
gemAuthorEmail
protected String
gemDescription
protected String
gemHomepage
protected String
gemLicense
protected String
gemName
protected String
gemRequiredRubyVersion
protected String
gemSummary
protected String
gemVersion
protected String
libFolder
protected String
modelDocPath
static String
MODULE_NAME
protected String
moduleName
protected String
specFolder
-
Fields inherited from class io.swagger.codegen.DefaultCodegen
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoBaseURL, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, ignoreImportMapping, importMapping, inputSpec, instantiationTypes, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, releaseNote, removeOperationIdPrefix, reservedWords, reservedWordsMappings, skipAliasGeneration, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, testPackage, typeAliases, typeMapping, vendorExtensions
-
-
Constructor Summary
Constructors Constructor Description RubyClientCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
apiDocFileFolder()
String
apiFileFolder()
String
apiTestFileFolder()
String
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injectionString
escapeReservedWord(String name)
Return the escaped name of the reserved wordString
escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe characters so as to avoid code injectionCodegenOperation
fromOperation(String path, String httpMethod, io.swagger.models.Operation operation, Map<String,io.swagger.models.Model> definitions, io.swagger.models.Swagger swagger)
Convert Swagger Operation object to Codegen Operation objectString
generateGemName(String moduleName)
Generate Ruby gem name from the module name, e.g.String
generateModuleName(String gemName)
Generate Ruby module name from the gem name, e.g.String
getHelp()
String
getName()
String
getSwaggerType(io.swagger.models.properties.Property p)
returns the swagger type for the propertyCodegenType
getTag()
String
getTypeDeclaration(io.swagger.models.properties.Property p)
Output the type declaration of the propertyString
modelDocFileFolder()
String
modelFileFolder()
String
modelTestFileFolder()
Map<String,Object>
postProcessModels(Map<String,Object> objs)
void
processOpts()
void
setGemAuthor(String gemAuthor)
void
setGemAuthorEmail(String gemAuthorEmail)
void
setGemDescription(String gemDescription)
void
setGemHomepage(String gemHomepage)
void
setGemLicense(String gemLicense)
void
setGemName(String gemName)
void
setGemRequiredRubyVersion(String gemRequiredRubyVersion)
void
setGemSummary(String gemSummary)
void
setGemVersion(String gemVersion)
void
setModuleName(String moduleName)
void
setParameterExampleValue(CodegenParameter p)
Return the example value of the parameter.boolean
shouldOverwrite(String filename)
String
toApiDocFilename(String name)
Return the file name of the Api DocumentationString
toApiFilename(String name)
Return the file name of the Api TestString
toApiImport(String name)
Return the fully-qualified "Api" name for importString
toApiName(String name)
Output the API (class) name (capitalized) ending with "Api" Return DefaultApi if name is emptyString
toApiTestFilename(String name)
Return the file name of the Api TestString
toDefaultValue(io.swagger.models.properties.Property p)
Return the default value of the propertyString
toEnumName(CodegenProperty property)
Return the Enum name (e.g.String
toEnumValue(String value, String datatype)
Return the enum value in the language specified format e.g.String
toEnumVarName(String name, String datatype)
Return the sanitized variable name for enumString
toModelDocFilename(String name)
Return the capitalized file name of the model documentationString
toModelFilename(String name)
Return the capitalized file name of the modelString
toModelName(String name)
Output the proper model name (capitalized).String
toModelTestFilename(String name)
Return the capitalized file name of the model testString
toOperationId(String operationId)
Return the operation ID (method name)String
toParamName(String name)
Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.String
toVarName(String name)
Return the variable name by removing invalid characters and proper escaping if it's a reserved word.-
Methods inherited from class io.swagger.codegen.DefaultCodegen
addAdditionPropertiesToCodeGenModel, addImport, additionalProperties, addOperationToGroup, addOption, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configureDataForTestTemplate, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIgnoreImportMappingOption, defaultIncludes, embeddedTemplateDir, ensureUniqueName, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fixUpParentAndInterfaces, fromModel, fromModel, fromOperation, fromParameter, fromProperty, fromResponse, fromSecurity, generateExamplePath, getAlias, getAllAliases, getCommonTemplateDir, getExamples, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInnerEnumAllowableValues, getInputSpec, getLibrary, getOrGenerateOperationId, getOutputDir, getParameterDataType, getReleaseNote, getSkipAliasGeneration, getSymbolName, getterAndSetterCapitalize, getTypeDeclaration, importMapping, initalizeSpecialCharacterMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isHideGenerationTimestamp, isModelObject, isPrimivite, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, isUsingFlattenSpec, languageSpecificPrimitives, modelDocTemplateFiles, modelFilename, modelPackage, modelTemplateFiles, modelTestTemplateFiles, needToImport, outputFolder, postProcessAllModels, postProcessModelProperties, postProcessModelProperty, postProcessModelsEnum, postProcessOperations, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessSwagger, processCompiler, processSwagger, readRefModelParameter, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setEnsureUniqueParams, setGitRepoBaseURL, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipAliasGeneration, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, titleCase, toApiVarName, toBooleanGetter, toDefaultValueWithParam, toEnumDefaultValue, toExamples, toExampleValue, toGetter, toInstantiationType, toModelImport, toRegularExpression, toSetter, typeMapping, underscore, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBack
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.swagger.codegen.CodegenConfig
additionalProperties, addOperationToGroup, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIgnoreImportMappingOption, defaultIncludes, embeddedTemplateDir, escapeText, fileSuffix, fromModel, fromModel, fromOperation, fromSecurity, generateExamplePath, getCommonTemplateDir, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getSkipAliasGeneration, getTypeDeclaration, importMapping, instantiationTypes, isHideGenerationTimestamp, isRemoveOperationIdPrefix, isSkipOverwrite, isUsingFlattenSpec, languageSpecificPrimitives, modelDocTemplateFiles, modelFilename, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, postProcessAllModels, postProcessModelProperty, postProcessOperations, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessSwagger, processCompiler, processSwagger, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setGitRepoBaseURL, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, setInputSpec, setLibrary, setOutputDir, setReleaseNote, setRemoveOperationIdPrefix, setSkipAliasGeneration, setSkipOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiVarName, toBooleanGetter, toGetter, toModelImport, toSetter, typeMapping, vendorExtensions
-
-
-
-
Field Detail
-
GEM_NAME
public static final String GEM_NAME
- See Also:
- Constant Field Values
-
MODULE_NAME
public static final String MODULE_NAME
- See Also:
- Constant Field Values
-
GEM_VERSION
public static final String GEM_VERSION
- See Also:
- Constant Field Values
-
GEM_LICENSE
public static final String GEM_LICENSE
- See Also:
- Constant Field Values
-
GEM_REQUIRED_RUBY_VERSION
public static final String GEM_REQUIRED_RUBY_VERSION
- See Also:
- Constant Field Values
-
GEM_HOMEPAGE
public static final String GEM_HOMEPAGE
- See Also:
- Constant Field Values
-
GEM_SUMMARY
public static final String GEM_SUMMARY
- See Also:
- Constant Field Values
-
GEM_DESCRIPTION
public static final String GEM_DESCRIPTION
- See Also:
- Constant Field Values
-
GEM_AUTHOR
public static final String GEM_AUTHOR
- See Also:
- Constant Field Values
-
GEM_AUTHOR_EMAIL
public static final String GEM_AUTHOR_EMAIL
- See Also:
- Constant Field Values
-
gemName
protected String gemName
-
moduleName
protected String moduleName
-
gemVersion
protected String gemVersion
-
specFolder
protected String specFolder
-
libFolder
protected String libFolder
-
gemLicense
protected String gemLicense
-
gemRequiredRubyVersion
protected String gemRequiredRubyVersion
-
gemHomepage
protected String gemHomepage
-
gemSummary
protected String gemSummary
-
gemDescription
protected String gemDescription
-
gemAuthor
protected String gemAuthor
-
gemAuthorEmail
protected String gemAuthorEmail
-
apiDocPath
protected String apiDocPath
-
modelDocPath
protected String modelDocPath
-
emptyMethodNameCounter
protected static int emptyMethodNameCounter
-
-
Method Detail
-
processOpts
public void processOpts()
- Specified by:
processOpts
in interfaceCodegenConfig
- Overrides:
processOpts
in classDefaultCodegen
-
fromOperation
public CodegenOperation fromOperation(String path, String httpMethod, io.swagger.models.Operation operation, Map<String,io.swagger.models.Model> definitions, io.swagger.models.Swagger swagger)
Description copied from class:DefaultCodegen
Convert Swagger Operation object to Codegen Operation object- Specified by:
fromOperation
in interfaceCodegenConfig
- Overrides:
fromOperation
in classDefaultCodegen
- Parameters:
path
- the path of the operationhttpMethod
- HTTP methodoperation
- Swagger operation objectdefinitions
- a map of Swagger modelsswagger
- a Swagger object representing the spec- Returns:
- Codegen Operation object
-
getTag
public CodegenType getTag()
- Specified by:
getTag
in interfaceCodegenConfig
-
getName
public String getName()
- Specified by:
getName
in interfaceCodegenConfig
-
getHelp
public String getHelp()
- Specified by:
getHelp
in interfaceCodegenConfig
-
generateModuleName
public String generateModuleName(String gemName)
Generate Ruby module name from the gem name, e.g. use "SwaggerClient" for "swagger_client".- Parameters:
gemName
- Ruby gem name- Returns:
- Ruby module naame
-
generateGemName
public String generateGemName(String moduleName)
Generate Ruby gem name from the module name, e.g. use "swagger_client" for "SwaggerClient".- Parameters:
moduleName
- Ruby module naame- Returns:
- Ruby gem name
-
escapeReservedWord
public String escapeReservedWord(String name)
Description copied from class:DefaultCodegen
Return the escaped name of the reserved word- Specified by:
escapeReservedWord
in interfaceCodegenConfig
- Overrides:
escapeReservedWord
in classDefaultCodegen
- Parameters:
name
- the name to be escaped- Returns:
- the escaped reserved word throws Runtime exception as reserved word is not allowed (default behavior)
-
apiFileFolder
public String apiFileFolder()
- Specified by:
apiFileFolder
in interfaceCodegenConfig
- Overrides:
apiFileFolder
in classDefaultCodegen
-
modelFileFolder
public String modelFileFolder()
- Specified by:
modelFileFolder
in interfaceCodegenConfig
- Overrides:
modelFileFolder
in classDefaultCodegen
-
apiTestFileFolder
public String apiTestFileFolder()
- Specified by:
apiTestFileFolder
in interfaceCodegenConfig
- Overrides:
apiTestFileFolder
in classDefaultCodegen
-
modelTestFileFolder
public String modelTestFileFolder()
- Specified by:
modelTestFileFolder
in interfaceCodegenConfig
- Overrides:
modelTestFileFolder
in classDefaultCodegen
-
apiDocFileFolder
public String apiDocFileFolder()
- Specified by:
apiDocFileFolder
in interfaceCodegenConfig
- Overrides:
apiDocFileFolder
in classDefaultCodegen
-
modelDocFileFolder
public String modelDocFileFolder()
- Specified by:
modelDocFileFolder
in interfaceCodegenConfig
- Overrides:
modelDocFileFolder
in classDefaultCodegen
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.models.properties.Property p)
Description copied from class:DefaultCodegen
Output the type declaration of the property- Specified by:
getTypeDeclaration
in interfaceCodegenConfig
- Overrides:
getTypeDeclaration
in classDefaultCodegen
- Parameters:
p
- Swagger Property object- Returns:
- a string presentation of the property type
-
toDefaultValue
public String toDefaultValue(io.swagger.models.properties.Property p)
Description copied from class:DefaultCodegen
Return the default value of the property- Overrides:
toDefaultValue
in classDefaultCodegen
- Parameters:
p
- Swagger property object- Returns:
- string presentation of the default value of the property
-
getSwaggerType
public String getSwaggerType(io.swagger.models.properties.Property p)
Description copied from class:DefaultCodegen
returns the swagger type for the property- Overrides:
getSwaggerType
in classDefaultCodegen
- Parameters:
p
- Swagger property object- Returns:
- string presentation of the type
-
toVarName
public String toVarName(String name)
Description copied from class:DefaultCodegen
Return the variable name by removing invalid characters and proper escaping if it's a reserved word.- Overrides:
toVarName
in classDefaultCodegen
- Parameters:
name
- the variable name- Returns:
- the sanitized variable name
-
toParamName
public String toParamName(String name)
Description copied from class:DefaultCodegen
Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.- Specified by:
toParamName
in interfaceCodegenConfig
- Overrides:
toParamName
in classDefaultCodegen
- Parameters:
name
- Codegen property object- Returns:
- the sanitized parameter name
-
toModelName
public String toModelName(String name)
Description copied from class:DefaultCodegen
Output the proper model name (capitalized). In case the name belongs to the TypeSystem it won't be renamed.- Specified by:
toModelName
in interfaceCodegenConfig
- Overrides:
toModelName
in classDefaultCodegen
- Parameters:
name
- the name of the model- Returns:
- capitalized model name
-
toModelFilename
public String toModelFilename(String name)
Description copied from class:DefaultCodegen
Return the capitalized file name of the model- Specified by:
toModelFilename
in interfaceCodegenConfig
- Overrides:
toModelFilename
in classDefaultCodegen
- Parameters:
name
- the model name- Returns:
- the file name of the model
-
toModelDocFilename
public String toModelDocFilename(String name)
Description copied from class:DefaultCodegen
Return the capitalized file name of the model documentation- Specified by:
toModelDocFilename
in interfaceCodegenConfig
- Overrides:
toModelDocFilename
in classDefaultCodegen
- Parameters:
name
- the model name- Returns:
- the file name of the model
-
toApiFilename
public String toApiFilename(String name)
Description copied from class:DefaultCodegen
Return the file name of the Api Test- Specified by:
toApiFilename
in interfaceCodegenConfig
- Overrides:
toApiFilename
in classDefaultCodegen
- Parameters:
name
- the file name of the Api- Returns:
- the file name of the Api
-
toApiDocFilename
public String toApiDocFilename(String name)
Description copied from class:DefaultCodegen
Return the file name of the Api Documentation- Specified by:
toApiDocFilename
in interfaceCodegenConfig
- Overrides:
toApiDocFilename
in classDefaultCodegen
- Parameters:
name
- the file name of the Api- Returns:
- the file name of the Api
-
toApiTestFilename
public String toApiTestFilename(String name)
Description copied from class:DefaultCodegen
Return the file name of the Api Test- Specified by:
toApiTestFilename
in interfaceCodegenConfig
- Overrides:
toApiTestFilename
in classDefaultCodegen
- Parameters:
name
- the file name of the Api- Returns:
- the file name of the Api
-
toModelTestFilename
public String toModelTestFilename(String name)
Description copied from class:DefaultCodegen
Return the capitalized file name of the model test- Specified by:
toModelTestFilename
in interfaceCodegenConfig
- Overrides:
toModelTestFilename
in classDefaultCodegen
- Parameters:
name
- the model name- Returns:
- the file name of the model
-
toApiName
public String toApiName(String name)
Description copied from class:DefaultCodegen
Output the API (class) name (capitalized) ending with "Api" Return DefaultApi if name is empty- Specified by:
toApiName
in interfaceCodegenConfig
- Overrides:
toApiName
in classDefaultCodegen
- Parameters:
name
- the name of the Api- Returns:
- capitalized Api name ending with "Api"
-
toEnumValue
public String toEnumValue(String value, String datatype)
Description copied from class:DefaultCodegen
Return the enum value in the language specified format e.g. status becomes "status"- Overrides:
toEnumValue
in classDefaultCodegen
- Parameters:
value
- enum variable namedatatype
- data type- Returns:
- the sanitized value for enum
-
toEnumVarName
public String toEnumVarName(String name, String datatype)
Description copied from class:DefaultCodegen
Return the sanitized variable name for enum- Overrides:
toEnumVarName
in classDefaultCodegen
- Parameters:
name
- enum variable namedatatype
- data type- Returns:
- the sanitized variable name for enum
-
toEnumName
public String toEnumName(CodegenProperty property)
Description copied from class:DefaultCodegen
Return the Enum name (e.g. StatusEnum given 'status')- Overrides:
toEnumName
in classDefaultCodegen
- Parameters:
property
- Codegen property- Returns:
- the Enum name
-
postProcessModels
public Map<String,Object> postProcessModels(Map<String,Object> objs)
- Specified by:
postProcessModels
in interfaceCodegenConfig
- Overrides:
postProcessModels
in classDefaultCodegen
-
toOperationId
public String toOperationId(String operationId)
Description copied from class:DefaultCodegen
Return the operation ID (method name)- Overrides:
toOperationId
in classDefaultCodegen
- Parameters:
operationId
- operation ID- Returns:
- the sanitized method name
-
toApiImport
public String toApiImport(String name)
Description copied from class:DefaultCodegen
Return the fully-qualified "Api" name for import- Specified by:
toApiImport
in interfaceCodegenConfig
- Overrides:
toApiImport
in classDefaultCodegen
- Parameters:
name
- the name of the "Api"- Returns:
- the fully-qualified "Api" name for import
-
setParameterExampleValue
public void setParameterExampleValue(CodegenParameter p)
Description copied from class:DefaultCodegen
Return the example value of the parameter.- Overrides:
setParameterExampleValue
in classDefaultCodegen
- Parameters:
p
- Swagger property object
-
setGemName
public void setGemName(String gemName)
-
setModuleName
public void setModuleName(String moduleName)
-
setGemVersion
public void setGemVersion(String gemVersion)
-
setGemDescription
public void setGemDescription(String gemDescription)
-
setGemSummary
public void setGemSummary(String gemSummary)
-
setGemLicense
public void setGemLicense(String gemLicense)
-
setGemRequiredRubyVersion
public void setGemRequiredRubyVersion(String gemRequiredRubyVersion)
-
setGemHomepage
public void setGemHomepage(String gemHomepage)
-
setGemAuthor
public void setGemAuthor(String gemAuthor)
-
setGemAuthorEmail
public void setGemAuthorEmail(String gemAuthorEmail)
-
shouldOverwrite
public boolean shouldOverwrite(String filename)
- Specified by:
shouldOverwrite
in interfaceCodegenConfig
- Overrides:
shouldOverwrite
in classDefaultCodegen
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Description copied from class:DefaultCodegen
Escape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMark
in interfaceCodegenConfig
- Overrides:
escapeQuotationMark
in classDefaultCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with quotation mark removed or escaped
-
escapeUnsafeCharacters
public String escapeUnsafeCharacters(String input)
Description copied from class:DefaultCodegen
override with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharacters
in interfaceCodegenConfig
- Overrides:
escapeUnsafeCharacters
in classDefaultCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
-