@@ -4,6 +4,8 @@ defmodule Bootleg.UI do
4
4
a configured verbosity level.
5
5
"""
6
6
7
+ @ verbosities [ :error , :warning , :info , :debug ]
8
+
7
9
@ doc """
8
10
Simple wrapper around IO.puts
9
11
"""
@@ -67,24 +69,15 @@ defmodule Bootleg.UI do
67
69
validate_verbosity setting || Application . get_env ( :bootleg , :verbosity , :info )
68
70
end
69
71
70
- defp validate_verbosity ( verbosity )
71
- defp validate_verbosity ( :warning ) , do: :warning
72
- defp validate_verbosity ( :debug ) , do: :debug
73
- defp validate_verbosity ( :silent ) , do: :silent
72
+ defp validate_verbosity ( verbosity ) when verbosity in @ verbosities , do: verbosity
74
73
defp validate_verbosity ( _ ) , do: :info
75
74
76
- defp verbosity_includes ( setting , level )
77
- defp verbosity_includes ( :info , :info ) , do: true
78
- defp verbosity_includes ( :info , :warning ) , do: true
79
- defp verbosity_includes ( :info , :error ) , do: true
80
- defp verbosity_includes ( :warning , :warning ) , do: true
81
- defp verbosity_includes ( :warning , :error ) , do: true
82
- defp verbosity_includes ( :error , :error ) , do: true
83
- defp verbosity_includes ( :debug , :info ) , do: true
84
- defp verbosity_includes ( :debug , :warning ) , do: true
85
- defp verbosity_includes ( :debug , :debug ) , do: true
86
- defp verbosity_includes ( :debug , :error ) , do: true
87
- defp verbosity_includes ( _ , _ ) , do: false
75
+ defp verbosity_includes ( setting , _ ) when not ( setting in @ verbosities ) , do: false
76
+ defp verbosity_includes ( _ , level ) when not ( level in @ verbosities ) , do: false
77
+ defp verbosity_includes ( setting , level ) do
78
+ index = fn value -> Enum . find_index ( @ verbosities , & ( & 1 == value ) ) end
79
+ index . ( setting ) >= index . ( level )
80
+ end
88
81
89
82
### SSH formatting functions
90
83
0 commit comments