summaryrefslogtreecommitdiff
path: root/lib/powerdnsex/models/record.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/powerdnsex/models/record.ex')
-rw-r--r--lib/powerdnsex/models/record.ex22
1 files changed, 13 insertions, 9 deletions
diff --git a/lib/powerdnsex/models/record.ex b/lib/powerdnsex/models/record.ex
index 9ffc2b7..b334a9b 100644
--- a/lib/powerdnsex/models/record.ex
+++ b/lib/powerdnsex/models/record.ex
@@ -2,15 +2,7 @@ defmodule PowerDNSex.Models.Record do
defstruct [:content, :disabled]
def build(attrs) when is_list(attrs) do
- Enum.reduce(attrs, [], &(&2 ++ [build(&1)]))
- end
-
- def build(attrs) when is_tuple(attrs) do
- %__MODULE__{content: elem(attrs, 0), disabled: elem(attrs, 1)}
- end
-
- def build(attrs) when is_map(attrs) do
- %__MODULE__{content: attrs.content, disabled: attrs.disabled}
+ Enum.reduce(attrs, [], &(&2 ++ [build_item(&1)]))
end
def as_body(nil), do: []
@@ -34,4 +26,16 @@ defmodule PowerDNSex.Models.Record do
end)
end)
end
+
+ ###
+ # PRIVATE
+ ###
+
+ defp build_item(attrs) when is_tuple(attrs) do
+ %__MODULE__{content: elem(attrs, 0), disabled: elem(attrs, 1)}
+ end
+
+ defp build_item(attrs) when is_map(attrs) do
+ %__MODULE__{content: attrs["content"], disabled: attrs["disabled"]}
+ end
end