From c0e35c4e9606fc41276422eedceb0c8b1f5f1d09 Mon Sep 17 00:00:00 2001 From: Marius Constantinescu Date: Fri, 21 Feb 2020 15:34:13 +0100 Subject: [PATCH 1/3] Public init for default language --- .swiftlint.yml | 6 +++++- .../Classes/Models/Default/DefaultLanguage.swift | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index 4eaa922..5ce40da 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -20,13 +20,17 @@ file_length: error: 600 line_length: - warning: 150 + warning: 190 error: 250 type_body_length: - 300 # warning - 400 # error +nesting: + type_level: 3 + statement_level: 7 + large_tuple: # warn user when using 3 values in tuple, give error if there are 4 - 3 - 4 diff --git a/LocalizationManager/Classes/Models/Default/DefaultLanguage.swift b/LocalizationManager/Classes/Models/Default/DefaultLanguage.swift index f8a6728..00824dc 100644 --- a/LocalizationManager/Classes/Models/Default/DefaultLanguage.swift +++ b/LocalizationManager/Classes/Models/Default/DefaultLanguage.swift @@ -20,8 +20,7 @@ public struct DefaultLanguage: LanguageModel { case id, name, direction, locale, isDefault, isBestFit } - init(id: Int, name: String, direction: String, - locale: Locale, isDefault: Bool, isBestFit: Bool) { + public init(id: Int, name: String, direction: String, locale: Locale, isDefault: Bool, isBestFit: Bool) { self.id = id self.name = name self.direction = direction From c2357554b90f52c9548404c7948d7c3783c24fa1 Mon Sep 17 00:00:00 2001 From: Marius Constantinescu Date: Mon, 24 Feb 2020 10:35:57 +0100 Subject: [PATCH 2/3] Updated coding keys for DefaultLanguage --- .../Classes/Models/Default/DefaultLanguage.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/LocalizationManager/Classes/Models/Default/DefaultLanguage.swift b/LocalizationManager/Classes/Models/Default/DefaultLanguage.swift index 00824dc..193564b 100644 --- a/LocalizationManager/Classes/Models/Default/DefaultLanguage.swift +++ b/LocalizationManager/Classes/Models/Default/DefaultLanguage.swift @@ -16,8 +16,10 @@ public struct DefaultLanguage: LanguageModel { public let isDefault: Bool public let isBestFit: Bool - enum CodingKeys: CodingKey { - case id, name, direction, locale, isDefault, isBestFit + enum CodingKeys: String, CodingKey { + case id, name, direction, locale + case isDefault = "is_default" + case isBestFit = "is_best_fit" } public init(id: Int, name: String, direction: String, locale: Locale, isDefault: Bool, isBestFit: Bool) { From 750ae51c294a86bceb4fcc0a0e2bb0702ea0929c Mon Sep 17 00:00:00 2001 From: Marius Constantinescu Date: Mon, 24 Feb 2020 14:39:09 +0100 Subject: [PATCH 3/3] Updated model to fit NStack response --- LocalizationManager/Classes/Manager/LocalizationManager.swift | 2 +- .../Classes/Protocols/LocalizationDescriptor.swift | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/LocalizationManager/Classes/Manager/LocalizationManager.swift b/LocalizationManager/Classes/Manager/LocalizationManager.swift index cb36047..ff36318 100644 --- a/LocalizationManager/Classes/Manager/LocalizationManager.swift +++ b/LocalizationManager/Classes/Manager/LocalizationManager.swift @@ -402,7 +402,7 @@ public class LocalizationManager w } if let bestFit = descriptors.filter({ $0.language.isBestFit }).first { - if self.bestFitLanguage?.locale.identifier != bestFit.localeIdentifier { + if self.bestFitLanguage?.locale.identifier != bestFit.language.locale.identifier { // Running language changed action, if best fit language is now different self.delegate?.localizationManager(languageUpdated: bestFit.language) } diff --git a/LocalizationManager/Classes/Protocols/LocalizationDescriptor.swift b/LocalizationManager/Classes/Protocols/LocalizationDescriptor.swift index 6bfb502..062af9b 100644 --- a/LocalizationManager/Classes/Protocols/LocalizationDescriptor.swift +++ b/LocalizationManager/Classes/Protocols/LocalizationDescriptor.swift @@ -12,7 +12,6 @@ public protocol LocalizationDescriptor: Codable { associatedtype LanguageType: LanguageModel var shouldUpdate: Bool { get } - var localeIdentifier: String { get } var url: String { get } var language: LanguageType { get } }