From 1cd38f1973d77f60269b113f66a3b71290487518 Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Fri, 9 Jun 2017 18:09:33 +0300 Subject: [PATCH] FIx warning: Redundant String Enum Value Violation: String enum values can be omitted when they are equal to the enumcase name. (redundant_string_enum_value) --- Swift/Class.swift.twig | 8 ++++---- Swift/Enum.swift.twig | 10 ++-------- .../class/date-transformers.twig} | 2 +- .../class/fields-mapping.twig} | 2 +- .../{Class.fields.swig => blocks/class/fields.twig} | 2 +- Swift/blocks/enum/cases.twig | 12 ++++++++++++ Swift/{swift-utils.twig => utils.twig} | 0 7 files changed, 21 insertions(+), 15 deletions(-) rename Swift/{Class.date-transformers.swig => blocks/class/date-transformers.twig} (90%) rename Swift/{Class.fields-mapping.swig => blocks/class/fields-mapping.twig} (73%) rename Swift/{Class.fields.swig => blocks/class/fields.twig} (81%) create mode 100644 Swift/blocks/enum/cases.twig rename Swift/{swift-utils.twig => utils.twig} (100%) diff --git a/Swift/Class.swift.twig b/Swift/Class.swift.twig index c6811c3..0815494 100644 --- a/Swift/Class.swift.twig +++ b/Swift/Class.swift.twig @@ -1,4 +1,4 @@ -{%- import 'swift-utils.twig' as utils -%} +{%- import 'utils.twig' as utils -%} {%- set className = utils.formatClassType(type.baseTypeName, type.typeParameters) -%} {%- set parentClassName = utils.formatClassType(utils.parentClassType(parent), type.parentTypeParameters) -%} @@ -8,12 +8,12 @@ import ObjectMapper /// {{ description }} {% if (not hasChilds) -%}final {% endif %}class {{ className }}: {{ parentClassName }} { - {% include 'Class.fields.swig' with { fields: fields } %} - {% include 'Class.date-transformers.swig' with { fields: fields } %} + {% include 'blocks/class/fields.twig' with { fields: fields } %} + {% include 'blocks/class/date-transformers.twig' with { fields: fields } %} // MARK: - Initializer required init(map: Map) throws { - {%- include 'Class.fields-mapping.swig' with { fields: fields } -%} + {%- include 'blocks/class/fields-mapping.twig' with { fields: fields } -%} {% if parent is not null %} try super.init(map: map) {%- endif %} diff --git a/Swift/Enum.swift.twig b/Swift/Enum.swift.twig index 3cc0cb1..2593f0e 100644 --- a/Swift/Enum.swift.twig +++ b/Swift/Enum.swift.twig @@ -1,4 +1,4 @@ -{%- import 'swift-utils.twig' as utils -%} +{%- import 'utils.twig' as utils -%} import Foundation @@ -8,12 +8,6 @@ import Foundation /// - {{ utils.decapitalize(value.name) }}: {{ value.description }} {% endfor -%} enum {{ name }}: {{ utils.enumType(valuesTypes) }} { + {% include 'blocks/enum/cases.twig' with { values: values } %} - {% for value in values -%} - case {{ utils.decapitalize(value.name) }} = {% if valuesTypes == "STRING" -%} - "{{ value.value }}" - {% else %} - {{- value.value }} - {% endif -%} - {% endfor %} } diff --git a/Swift/Class.date-transformers.swig b/Swift/blocks/class/date-transformers.twig similarity index 90% rename from Swift/Class.date-transformers.swig rename to Swift/blocks/class/date-transformers.twig index 6994132..be83b52 100644 --- a/Swift/Class.date-transformers.swig +++ b/Swift/blocks/class/date-transformers.twig @@ -1,4 +1,4 @@ -{%- import 'swift-utils.twig' as utils -%} +{%- import '../../utils.twig' as utils -%} {%- set hasDateFields = false -%} diff --git a/Swift/Class.fields-mapping.swig b/Swift/blocks/class/fields-mapping.twig similarity index 73% rename from Swift/Class.fields-mapping.swig rename to Swift/blocks/class/fields-mapping.twig index c7c5601..3315eaa 100644 --- a/Swift/Class.fields-mapping.swig +++ b/Swift/blocks/class/fields-mapping.twig @@ -1,4 +1,4 @@ -{%- import 'swift-utils.twig' as utils -%} +{%- import '../../utils.twig' as utils -%} {%- for field in fields %} {{ field.name }} = {{ utils.formatNullable('try', field.nullable) }} {{ utils.mappingForField(field, className) }} {%- endfor -%} \ No newline at end of file diff --git a/Swift/Class.fields.swig b/Swift/blocks/class/fields.twig similarity index 81% rename from Swift/Class.fields.swig rename to Swift/blocks/class/fields.twig index bdceb45..f8d4b58 100644 --- a/Swift/Class.fields.swig +++ b/Swift/blocks/class/fields.twig @@ -1,4 +1,4 @@ -{%- import 'swift-utils.twig' as utils -%} +{%- import '../../utils.twig' as utils -%} {%- if fields is not empty -%} // MARK: - Fields diff --git a/Swift/blocks/enum/cases.twig b/Swift/blocks/enum/cases.twig new file mode 100644 index 0000000..7ca7065 --- /dev/null +++ b/Swift/blocks/enum/cases.twig @@ -0,0 +1,12 @@ +{%- import '../../utils.twig' as utils -%} +{%- for value in values -%} + {%- if valuesTypes == "STRING" %} +{%- if value.name != value.value %} + case {{ utils.decapitalize(value.name) }} = "{{ value.value }}" +{%- else %} + case {{ utils.decapitalize(value.name) -}} +{% endif -%} +{%- else %} + case {{ utils.decapitalize(value.name) }} = {{ value.value }} +{%- endif -%} +{%- endfor -%} \ No newline at end of file diff --git a/Swift/swift-utils.twig b/Swift/utils.twig similarity index 100% rename from Swift/swift-utils.twig rename to Swift/utils.twig