Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions bin/configs/elixir.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,10 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-e
templateDir: modules/openapi-generator/src/main/resources/elixir
additionalProperties:
invokerPackage: OpenapiPetstore
modelNameMappings:
DeprecatedObject: DeprecatedModel
# the following options have no effect on elixir client gen which uses baseName
nameMappings:
deprecatedRef: deprecatedReference
parameterNameMapping:
ioutils: ioutils_parameter
Original file line number Diff line number Diff line change
Expand Up @@ -482,13 +482,24 @@ public String toApiFilename(String name) {

@Override
public String toModelName(String name) {
// obtain the name from modelNameMapping directly if provided
if (modelNameMapping.containsKey(name)) {
return modelNameMapping.get(name);
}

// camelize the model name
// phone_number => PhoneNumber
return camelize(toModelFilename(name));
}

@Override
public String toModelFilename(String name) {
// obtain the name from modelNameMapping directly if provided
// and convert it to snake case
if (modelNameMapping.containsKey(name)) {
return underscore(modelNameMapping.get(name));
}

if (!StringUtils.isEmpty(modelNamePrefix)) {
name = modelNamePrefix + "_" + name;
}
Expand Down Expand Up @@ -991,4 +1002,5 @@ public void setModuleName(String moduleName) {

@Override
public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.ELIXIR; }

}
2 changes: 1 addition & 1 deletion samples/client/petstore/elixir/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ lib/openapi_petstore/model/cat.ex
lib/openapi_petstore/model/category.ex
lib/openapi_petstore/model/class_model.ex
lib/openapi_petstore/model/client.ex
lib/openapi_petstore/model/deprecated_object.ex
lib/openapi_petstore/model/deprecated_model.ex
lib/openapi_petstore/model/dog.ex
lib/openapi_petstore/model/enum_arrays.ex
lib/openapi_petstore/model/enum_class.ex
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# NOTE: This file is auto generated by OpenAPI Generator 7.0.0-SNAPSHOT (https://openapi-generator.tech).
# Do not edit this file manually.

defmodule OpenapiPetstore.Model.DeprecatedObject do
defmodule OpenapiPetstore.Model.DeprecatedModel do
@moduledoc """

"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ defmodule OpenapiPetstore.Model.ObjectWithDeprecatedFields do
@type t :: %__MODULE__{
:uuid => String.t | nil,
:id => float() | nil,
:deprecatedRef => OpenapiPetstore.Model.DeprecatedObject.t | nil,
:deprecatedRef => OpenapiPetstore.Model.DeprecatedModel.t | nil,
:bars => [String.t] | nil
}

alias OpenapiPetstore.Deserializer

def decode(value) do
value
|> Deserializer.deserialize(:deprecatedRef, :struct, OpenapiPetstore.Model.DeprecatedObject)
|> Deserializer.deserialize(:deprecatedRef, :struct, OpenapiPetstore.Model.DeprecatedModel)
end
end