From 8ba50b26d3bef929946d4ca2024ae5cae64653c3 Mon Sep 17 00:00:00 2001 From: Tobias Casper Date: Sat, 11 May 2019 00:09:03 +0200 Subject: [PATCH] Simplify implementation of config validator --- lib/sftp_client/operations/connect.ex | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/lib/sftp_client/operations/connect.ex b/lib/sftp_client/operations/connect.ex index c7372fd..cd80333 100644 --- a/lib/sftp_client/operations/connect.ex +++ b/lib/sftp_client/operations/connect.ex @@ -100,22 +100,19 @@ defmodule SFTPClient.Operations.Connect do defp validate_config(config) do config |> Map.from_struct() - |> Enum.find_value(:ok, fn - {_key, nil} -> - nil - - {key, value} -> - case validate_config_value(key, value) do - :ok -> - nil - - {:error, reason} -> - {:error, - %InvalidOptionError{key: key, value: value, reason: reason}} - end + |> Enum.find_value(:ok, fn {key, value} -> + case validate_config_value(key, value) do + :ok -> + nil + + {:error, reason} -> + {:error, %InvalidOptionError{key: key, value: value, reason: reason}} + end end) end + defp validate_config_value(_key, nil), do: :ok + defp validate_config_value(:private_key_path, path) do if File.exists?(Path.expand(path)) do :ok