summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRodrigo Coutinho <rodrigo.coutinho@locaweb.com.br>2016-10-06 20:13:05 -0300
committerRodrigo Coutinho <rodrigo.coutinho@locaweb.com.br>2016-10-06 20:13:05 -0300
commit267959fe1f45a50795d6e76026d2872a9a6c4dbb (patch)
treea916293290cd5916fea64ecb79a9a95fe0f5505a /lib
parentPackage information (diff)
Revert resource record format and apply style guide
Diffstat (limited to 'lib')
-rw-r--r--lib/powerdnsex/managers/records_manager.ex5
-rw-r--r--lib/powerdnsex/managers/zones_manager.ex8
-rw-r--r--lib/powerdnsex/models/record.ex4
-rw-r--r--lib/powerdnsex/models/resource_record_set.ex29
4 files changed, 24 insertions, 22 deletions
diff --git a/lib/powerdnsex/managers/records_manager.ex b/lib/powerdnsex/managers/records_manager.ex
index 37e6096..9bc3510 100644
--- a/lib/powerdnsex/managers/records_manager.ex
+++ b/lib/powerdnsex/managers/records_manager.ex
@@ -50,7 +50,7 @@ defmodule PowerDNSex.Managers.RecordsManager do
:ok
s when s >= 300 ->
error = Poison.decode!(body, as: %Error{})
- {:error, %{error | http_status_code: s} }
+ {:error, %{error | http_status_code: s}}
end
end
@@ -72,7 +72,8 @@ defmodule PowerDNSex.Managers.RecordsManager do
end
defp has_attrs?(rrset, attrs) do
- Map.keys(attrs)
+ attrs
+ |> Map.keys
|> Enum.all?(&(equal_attr?(&1, attrs[&1], rrsets)))
end
end
diff --git a/lib/powerdnsex/managers/zones_manager.ex b/lib/powerdnsex/managers/zones_manager.ex
index 5fa5a74..0430223 100644
--- a/lib/powerdnsex/managers/zones_manager.ex
+++ b/lib/powerdnsex/managers/zones_manager.ex
@@ -7,7 +7,8 @@ defmodule PowerDNSex.Managers.ZonesManager do
alias HTTPoison.Response
def create(%Zone{} = zone, server_name \\ @default_server) do
- zone_path(server_name)
+ server_name
+ |> zone_path
|> HttpClient.post!(Zone.as_body(zone))
|> process_request_response
end
@@ -15,7 +16,8 @@ defmodule PowerDNSex.Managers.ZonesManager do
def show(zone_name, server_name \\ @default_server)
when is_bitstring(zone_name) do
- zone_path(server_name, zone_name)
+ server_name
+ |> zone_path(zone_name)
|> HttpClient.get!
|> process_request_response
end
@@ -46,7 +48,7 @@ defmodule PowerDNSex.Managers.ZonesManager do
s when s == 204 -> {:ok, %{}}
s when s < 300 -> {:ok, decode_body(body)}
s when s == 500 ->
- {:error, %Error{error: "Internal Server Error"}, http_status_code: s}
+ {:error, %Error{error: "Internal Server Error", http_status_code: s}}
s when s >= 300 ->
error = %{Poison.decode!(body,as: %Error{}) | http_status_code: s}
{:error, error}
diff --git a/lib/powerdnsex/models/record.ex b/lib/powerdnsex/models/record.ex
index 0c40e65..ed0e327 100644
--- a/lib/powerdnsex/models/record.ex
+++ b/lib/powerdnsex/models/record.ex
@@ -20,8 +20,8 @@ defmodule PowerDNSex.Models.Record do
end
def find(records, attrs) when is_list(records) do
- Enum.find(records, fn(record)->
- Enum.all?(attrs, fn({attr, attr_value})->
+ Enum.find(records, fn(record) ->
+ Enum.all?(attrs, fn({attr, attr_value}) ->
Map.get(record, attr) == attr_value
end)
end)
diff --git a/lib/powerdnsex/models/resource_record_set.ex b/lib/powerdnsex/models/resource_record_set.ex
index d02d2c9..c0845d9 100644
--- a/lib/powerdnsex/models/resource_record_set.ex
+++ b/lib/powerdnsex/models/resource_record_set.ex
@@ -10,7 +10,7 @@ defmodule PowerDNSex.Models.ResourceRecordSet do
end
def as_body(%__MODULE__{} = rrset) do
- %{ rrsets: [
+ %{rrsets: [
%{
name: rrset.name,
type: rrset.type,
@@ -23,8 +23,8 @@ defmodule PowerDNSex.Models.ResourceRecordSet do
end
def find(rrsets, %{} = attrs) when is_list(rrsets) do
- Enum.find(rrsets, fn(rrset)->
- Enum.all?(attrs, fn({attr, attr_value})->
+ Enum.find(rrsets, fn(rrset) ->
+ Enum.all?(attrs, fn({attr, attr_value}) ->
if Enum.member?(Map.keys(%__MODULE__{}), attr) do
equal_attr?(attr, attr_value, rrset)
else
@@ -35,23 +35,22 @@ defmodule PowerDNSex.Models.ResourceRecordSet do
end
def update(%__MODULE__{} = rrset, %{} = new_attrs) do
- format_attrs(new_attrs, rrset)
- |> Enum.reduce(rrset, fn( {attr, value}, rrset) ->
- %{rrset | attr => value}
- end)
+ Enum.reduce(@permited_attrs, rrset, fn(attr_name, rrset) ->
+ case Map.fetch(new_attrs, attr_name) do
+ {:ok, new_value} ->
+ if attr_name == :records do
+ new_value = Record.build(new_value)
+ end
+ %{rrset | attr_name => new_value}
+ _ -> rrset
+ end
+ end)
end
###
# Private
###
#
- defp format_attrs(new_attrs, rrset) do
- record = %Record{content: new_attrs.content, disabled: new_attrs.disabled }
- %{
- records: [record],
- ttl: Map.get(new_attrs, :ttl, rrset.ttl)
- }
- end
defp set_attrs(rrset, attr_name, attrs) do
if Map.has_key?(attrs, attr_name) do
@@ -60,7 +59,7 @@ defmodule PowerDNSex.Models.ResourceRecordSet do
_ -> Map.fetch!(attrs, attr_name)
end
- %{ rrset | attr_name => attr_value }
+ %{rrset | attr_name => attr_value}
else
rrset
end