make code more idiomatic
parent
65dad89f5e
commit
08d41aa70f
|
@ -1,40 +1,37 @@
|
||||||
defmodule Discordirc.ChannelMap do
|
defmodule Discordirc.ChannelMap do
|
||||||
|
@cmap Application.fetch_env!(:discordirc, :channels)
|
||||||
def discord(network, channel) do
|
def discord(network, channel) do
|
||||||
cmap = Application.fetch_env!(:discordirc, :channels)
|
|
||||||
|
|
||||||
id =
|
id =
|
||||||
cmap
|
@cmap
|
||||||
|> Enum.filter(&(&1.ircnetwork == network and &1.ircchannel == channel))
|
|> Enum.filter(&(&1.ircnetwork == network and &1.ircchannel == channel))
|
||||||
|> List.first()
|
|> List.first()
|
||||||
|
|
||||||
case id do
|
case id do
|
||||||
x when is_map(x) ->
|
%{discordid: discordid, ircnetwork: ^network, ircchannel: ^channel} ->
|
||||||
{:ok, Map.get(x, :discordid)}
|
{:ok, discordid}
|
||||||
|
|
||||||
nil ->
|
_ ->
|
||||||
{:error, "no mapping"}
|
{:error, "no mapping"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def irc(id) do
|
def irc(id) do
|
||||||
cmap = Application.fetch_env!(:discordirc, :channels)
|
|
||||||
|
|
||||||
channel =
|
channel =
|
||||||
cmap
|
@cmap
|
||||||
|> Enum.filter(&(&1.discordid == id))
|
|> Enum.filter(&(&1.discordid == id))
|
||||||
|> List.first()
|
|> List.first()
|
||||||
|
|
||||||
case channel do
|
case channel do
|
||||||
x when is_map(x) ->
|
%{discordid: ^id, ircnetwork: net, ircchannel: chan} ->
|
||||||
{:ok, channel.ircnetwork, channel.ircchannel}
|
{:ok, net, chan}
|
||||||
|
|
||||||
nil ->
|
_ ->
|
||||||
{:error, "no mapping"}
|
{:error, "no mapping"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def getircchannels(network) do
|
def getircchannels(network) do
|
||||||
Application.fetch_env!(:discordirc, :channels)
|
@cmap
|
||||||
|> Enum.filter(&(&1.ircnetwork == network))
|
|> Enum.filter(&(&1.ircnetwork == network))
|
||||||
|> Enum.map(& &1.ircchannel)
|
|> Enum.map(& &1.ircchannel)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue