Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added a few improvements for code structure #129

Merged
merged 2 commits into from
Apr 5, 2021
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
1 change: 1 addition & 0 deletions CrowdinSDK.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ Pod::Spec.new do |spec|
provider.source_files = 'CrowdinSDK/Classes/Providers/Crowdin/**/*.swift'
provider.dependency 'CrowdinSDK/Core'
provider.dependency 'CrowdinSDK/CrowdinAPI'
provider.dependency 'CrowdinSDK/Logs'
end

spec.test_spec 'CrowdinProvider_Tests' do |test_spec|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class CrowdinContentDeliveryAPI: BaseAPI {
super.get(url: stringURL, headers: headers) { data, response, error in
completion(data, response, error)
CrowdinAPILog.logRequest(
method: .GET,
method: RequestMethod.GET.rawValue,
url: stringURL,
parameters: nil,
headers: headers,
Expand Down
8 changes: 4 additions & 4 deletions CrowdinSDK/Classes/CrowdinAPI/CrowdinAPI.swift
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class CrowdinAPI: BaseAPI {
return
}

CrowdinAPILog.logRequest(method: .POST, url: url, parameters: parameters, headers: self.addDefaultHeaders(to: headers), body: body, responseData: data)
CrowdinAPILog.logRequest(method: RequestMethod.POST.rawValue, url: url, parameters: parameters, headers: self.addDefaultHeaders(to: headers), body: body, responseData: data)

do {
let response = try JSONDecoder().decode(T.self, from: data)
Expand All @@ -74,7 +74,7 @@ class CrowdinAPI: BaseAPI {
return (nil, result.error)
}

CrowdinAPILog.logRequest(method: .POST, url: url, parameters: parameters, headers: addDefaultHeaders(to: headers), body: body, responseData: data)
CrowdinAPILog.logRequest(method: RequestMethod.POST.rawValue, url: url, parameters: parameters, headers: addDefaultHeaders(to: headers), body: body, responseData: data)

do {
let response = try JSONDecoder().decode(T.self, from: data)
Expand All @@ -96,7 +96,7 @@ class CrowdinAPI: BaseAPI {
return
}

CrowdinAPILog.logRequest(method: .GET, url: url, parameters: parameters, headers: self.addDefaultHeaders(to: headers), responseData: data)
CrowdinAPILog.logRequest(method: RequestMethod.GET.rawValue, url: url, parameters: parameters, headers: self.addDefaultHeaders(to: headers), responseData: data)

do {
let response = try JSONDecoder().decode(T.self, from: data)
Expand All @@ -118,7 +118,7 @@ class CrowdinAPI: BaseAPI {
return (nil, result.error)
}

CrowdinAPILog.logRequest(method: .GET, url: url, parameters: parameters, headers: addDefaultHeaders(to: headers), responseData: data)
CrowdinAPILog.logRequest(method: RequestMethod.GET.rawValue, url: url, parameters: parameters, headers: addDefaultHeaders(to: headers), responseData: data)

do {
let response = try JSONDecoder().decode(T.self, from: data)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import Foundation

struct AttributeFactory {
public struct AttributeFactory {

static func make(_ attribute: LogAttribute) -> NSAttributedString {
let empty = "Empty"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
import Foundation
import BaseAPI

struct AttributedTextFormatter {
public struct AttributedTextFormatter {

static func make(
method: RequestMethod,
method: String,
url: String,
parameters: [String: String]? = nil,
headers: [String: String]? = nil,
Expand All @@ -22,7 +22,7 @@ struct AttributedTextFormatter {
let attributedText = NSMutableAttributedString()

[
AttributeFactory.make(.method(method.rawValue)),
AttributeFactory.make(.method(method)),
AttributeFactory.make(.separator),
AttributeFactory.make(.url(url)),
AttributeFactory.make(.separator),
Expand All @@ -43,7 +43,7 @@ struct AttributedTextFormatter {
}
}

enum LogAttribute {
public enum LogAttribute {

case path(String)
case url(String)
Expand Down
6 changes: 2 additions & 4 deletions CrowdinSDK/Classes/Features/Logs/CrowdinAPILog.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,19 @@
//

import Foundation
import BaseAPI

struct CrowdinAPILog {

static func logRequest(
method: RequestMethod,
method: String,
url: String,
parameters: [String: String]? = nil,
headers: [String: String]? = nil,
body: Data? = nil,
responseData: Data? = nil,
error: Error? = nil
) {
let urlMethod = method.rawValue
let message = [urlMethod, url].joined(separator: ", ")
let message = [method, url].joined(separator: ", ")
let attributedText = AttributedTextFormatter.make(
method: method,
url: url,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,4 @@ class CrowdinStringsDownloadOperation: CrowdinDownloadOperation {
self.finish(with: error != nil)
}
}

func log(filePath: String, localization: String) {
let stringURL = CrowdinPathsParser.shared.parse(filePath, localization: localization)
CrowdinAPILog.logRequest(type: .info, stringURL: stringURL, message: "\(localization) - Localization fetched from remote storage")
}
}
3 changes: 2 additions & 1 deletion Example/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ PODS:
- CrowdinSDK/CrowdinProvider (1.2.1):
- CrowdinSDK/Core
- CrowdinSDK/CrowdinAPI
- CrowdinSDK/Logs
- CrowdinSDK/IntervalUpdate (1.2.1):
- CrowdinSDK/Core
- CrowdinSDK/CrowdinAPI
Expand Down Expand Up @@ -71,7 +72,7 @@ EXTERNAL SOURCES:

SPEC CHECKSUMS:
BaseAPI: 84c9b49d75b8be1e9d7facd66bd14082eee499e4
CrowdinSDK: 2567e7d883a2bb5d956952c7a26b7ad0690b86c3
CrowdinSDK: 75c3384b9fd9081cb9d8009e9a4c222301c91e26
Realm: 31dc40934081ef740f60feedc46d88473cbfeb40
RealmSwift: b5199e9a41f67b99f51acf6874a6166f5fbe93d1
Starscream: 4bb2f9942274833f7b4d296a55504dcfc7edb7b0
Expand Down
3 changes: 2 additions & 1 deletion Tests/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ PODS:
- CrowdinSDK/CrowdinProvider (1.2.1):
- CrowdinSDK/Core
- CrowdinSDK/CrowdinAPI
- CrowdinSDK/Logs
- CrowdinSDK/CrowdinProvider_Tests (1.2.1)
- CrowdinSDK/LoginFeature (1.2.1):
- BaseAPI (~> 0.1.12)
Expand Down Expand Up @@ -41,7 +42,7 @@ EXTERNAL SOURCES:

SPEC CHECKSUMS:
BaseAPI: 84c9b49d75b8be1e9d7facd66bd14082eee499e4
CrowdinSDK: 2567e7d883a2bb5d956952c7a26b7ad0690b86c3
CrowdinSDK: 75c3384b9fd9081cb9d8009e9a4c222301c91e26
Starscream: 4bb2f9942274833f7b4d296a55504dcfc7edb7b0

PODFILE CHECKSUM: fceddbe439fbdf6f01a1c0846d9a124b7a7e4b56
Expand Down
3 changes: 3 additions & 0 deletions Tests/Pods/Local Podspecs/CrowdinSDK.podspec.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion Tests/Pods/Manifest.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.