From 8becbd49cb03e5321589824acc7882073210fc1a Mon Sep 17 00:00:00 2001 From: "Steffen D. Sommer" Date: Tue, 23 Oct 2018 12:33:55 +0200 Subject: [PATCH 1/2] Add more convenience for getting env variables --- Sources/Sugar/Helpers/Environment.swift | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Sources/Sugar/Helpers/Environment.swift b/Sources/Sugar/Helpers/Environment.swift index 3cf3ba9..244734d 100644 --- a/Sources/Sugar/Helpers/Environment.swift +++ b/Sources/Sugar/Helpers/Environment.swift @@ -1,11 +1,30 @@ import Vapor public extension Environment { + enum EnvironmentError: Error { + case keyNotFound(key: String) + } + public static func get(_ key: String, _ fallback: String) -> String { return ProcessInfo.processInfo.environment[key] ?? fallback } + + public static func get(_ key: String) -> String? { + return ProcessInfo.processInfo.environment[key] + } } public func env(_ key: String, _ fallback: String) -> String { return Environment.get(key, fallback) } + +public func env(_ key: String) -> String? { + return Environment.get(key) +} + +public func assertEnv(_ key: String) throws -> String { + guard let value = Environment.get(key) else { + throw Environment.EnvironmentError.keyNotFound(key: key) + } + return value +} From 815e3daf5a429a336de855e0cf9eca7fb9378055 Mon Sep 17 00:00:00 2001 From: "Steffen D. Sommer" Date: Tue, 23 Oct 2018 16:16:57 +0200 Subject: [PATCH 2/2] Add static func on Environment --- Sources/Sugar/Helpers/Environment.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Sources/Sugar/Helpers/Environment.swift b/Sources/Sugar/Helpers/Environment.swift index 244734d..08f5416 100644 --- a/Sources/Sugar/Helpers/Environment.swift +++ b/Sources/Sugar/Helpers/Environment.swift @@ -12,6 +12,13 @@ public extension Environment { public static func get(_ key: String) -> String? { return ProcessInfo.processInfo.environment[key] } + + public static func assertGet(_ key: String) throws -> String { + guard let value = Environment.get(key) else { + throw Environment.EnvironmentError.keyNotFound(key: key) + } + return value + } } public func env(_ key: String, _ fallback: String) -> String { @@ -23,8 +30,5 @@ public func env(_ key: String) -> String? { } public func assertEnv(_ key: String) throws -> String { - guard let value = Environment.get(key) else { - throw Environment.EnvironmentError.keyNotFound(key: key) - } - return value + return try Environment.assertGet(key) }