@@ -36,27 +36,27 @@ defmodule Largo.Responders.MemmoryResponder do
36
36
defp get ( key ) do
37
37
key = clean_key ( key )
38
38
case Ecto.Query . from ( v in Value , where: v . key == ^ key ) |> Repo . one do
39
- nil -> { :ok , "No encontré la clave #{ key } " }
40
- value -> { :ok , "• # {value . key } : #{ value . value } " }
39
+ nil -> { :ok , build_colored_message ( "No encontré la clave #{ key } " , "warn" ) }
40
+ value -> { :ok , build_kv_message ( [ { value . key , value . value } ] , "hmmmmmmm" , "good" ) }
41
41
end
42
42
end
43
43
44
44
defp delete ( key ) do
45
45
key = clean_key ( key )
46
46
case Ecto.Query . from ( v in Value , where: v . key == ^ key ) |> Repo . one do
47
- nil -> { :ok , "No encontré la clave #{ key } " }
47
+ nil -> { :ok , build_colored_message ( "No encontré la clave #{ key } " , "warning" ) }
48
48
value ->
49
49
case Repo . delete ( value ) do
50
- { :error , _ } -> { :ok , "No pude borrar la clave #{ key } " }
51
- { :ok , value } -> { :ok , "Borré la clave #{ value . key } . Último valor: #{ value . value } " }
50
+ { :error , _ } -> { :ok , build_colored_message ( "No pude borrar la clave #{ key } " , "danger" ) }
51
+ { :ok , value } -> { :ok , build_colored_message ( "Borré la clave #{ value . key } . Último valor: #{ value . value } " , "good" ) }
52
52
end
53
53
end
54
54
end
55
55
56
56
defp list do
57
57
msg = Repo . all ( Value )
58
- |> Enum . map ( & "• * # {& 1 . key } *: #{ & 1 . value } " )
59
- |> Enum . join ( " \n ")
58
+ |> Enum . map ( & { & 1 . key , & 1 . value } )
59
+ |> build_kv_message ( "*hmmmmm*" , "good ")
60
60
{ :ok , msg }
61
61
end
62
62
@@ -66,13 +66,34 @@ defmodule Largo.Responders.MemmoryResponder do
66
66
nil ->
67
67
Value . changeset ( % Value { } , % { key: key , value: String . trim ( value ) } )
68
68
|> Repo . insert!
69
- { :ok , "guardado!" }
69
+ { :ok , build_colored_message ( "guardado..." , "good" ) }
70
70
db_val ->
71
71
Value . changeset ( db_val , % { value: String . trim ( value ) } )
72
72
|> Repo . update!
73
- { :ok , "actualizado!" }
73
+ { :ok , build_colored_message ( "actualizado..." , "good" ) }
74
74
end
75
75
end
76
+
77
+ defp build_kv_message ( kvs , text , color \\ "" ) do
78
+ fields = Enum . map ( kvs , fn { key , value } -> % { title: key , value: value , short: false } end )
79
+ fallback = Enum . map ( kvs , fn { key , value } -> "#{ key } : #{ value } " end ) |> Enum . join ( "/n" )
80
+ { "" , % { attachments: Poison . encode! ( [ % {
81
+ fallback: fallback ,
82
+ color: color ,
83
+ pretext: text ,
84
+ fields: fields
85
+ } ] ) } }
86
+ end
87
+
88
+ defp build_colored_message ( text , color ) do
89
+ { "" , % { attachments: Poison . encode! ( [ % {
90
+ fallback: text ,
91
+ color: color ,
92
+ text: text ,
93
+ } ] ) } }
94
+ end
95
+
96
+
76
97
77
98
defp clean_key ( key ) do
78
99
key
0 commit comments