summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Freire <code.tiago.frire@locaweb.com.br>2016-09-08 16:02:13 -0300
committerTiago Freire <code.tiago.frire@locaweb.com.br>2016-09-08 16:02:13 -0300
commit9ab4b90ed276b530480b447733c8b2f2a8ef6f1c (patch)
treed4bc996181d1c1acb2acaaeb83a317af86887098
parentChange Errors model and get_keys of Config (diff)
Fix Record Show
-rw-r--r--lib/powerdnsex.ex8
-rw-r--r--lib/powerdnsex/gen_server/server.ex4
-rw-r--r--lib/powerdnsex/managers/records_manager.ex6
3 files changed, 10 insertions, 8 deletions
diff --git a/lib/powerdnsex.ex b/lib/powerdnsex.ex
index 73f3d7e..0f7876b 100644
--- a/lib/powerdnsex.ex
+++ b/lib/powerdnsex.ex
@@ -72,12 +72,12 @@ defmodule PowerDNSex do
call({:create_record, zone, rrset_attrs})
end
- @spec show_record(Zone.t, struct) :: :ok | {:error, String.t}
+ @spec show_record(String.t, struct) :: :ok | {:error, String.t}
@doc """
- Show / Retrive info of the specific Record of the given Zone
+ Show / Retrive info of the specific Record of the given Zone name
"""
- def show_record(%Zone{} = zone, %{} = rrset_attrs) do
- call({:show_record, zone, rrset_attrs})
+ def show_record(zone_name, %{} = rrset_attrs) do
+ call({:show_record, zone_name, rrset_attrs})
end
@spec update_record(Zone.t, struct) :: :ok | {:error, String.t}
diff --git a/lib/powerdnsex/gen_server/server.ex b/lib/powerdnsex/gen_server/server.ex
index 52768b3..bed016b 100644
--- a/lib/powerdnsex/gen_server/server.ex
+++ b/lib/powerdnsex/gen_server/server.ex
@@ -28,8 +28,8 @@ defmodule PowerDNSex.Server do
{:reply, RecordsManager.create(zone, rrset_attrs), state}
end
- def handle_call({:show_record, zone, rrset_attrs}, _from, state) do
- {:reply, RecordsManager.show(zone, rrset_attrs), state}
+ def handle_call({:show_record, zone_name, rrset_attrs}, _from, state) do
+ {:reply, RecordsManager.show(zone_name, rrset_attrs), state}
end
def handle_call({:update_record, zone, rrset_attrs}, _from, state) do
diff --git a/lib/powerdnsex/managers/records_manager.ex b/lib/powerdnsex/managers/records_manager.ex
index a8c67e5..876234f 100644
--- a/lib/powerdnsex/managers/records_manager.ex
+++ b/lib/powerdnsex/managers/records_manager.ex
@@ -13,8 +13,10 @@ defmodule PowerDNSex.Managers.RecordsManager do
end
def show(zone_name, %{} = rrset_attrs) do
- zone = ZonesManager.show(zone_name)
- RRSet.find(zone.rrsets, rrset_attrs)
+ case ZonesManager.show(zone_name) do
+ {:ok, zone} -> RRSet.find(zone.rrsets, rrset_attrs)
+ _ -> nil
+ end
end
def update(%Zone{} = zone, %{} = rrset_attrs) do