               # Get the translation function if one is defined
               translation        = Keyword.get(translations, key)
               # Break the setting key name into [app, and setting]
-              [app, app_setting] = Keyword.get(info, :to, key |> atom_to_binary) |> String.split(".", parts: 2)
+              [app, app_setting] = Keyword.get(info, :to, key |> Atom.to_string) |> String.split(".", parts: 2)
               # Get the default value for this mapping, if defined
               default_value      = Keyword.get(info, :default, nil)
               # Get the datatype for this mapping, falling back to binary if not defined

    end
  end
  defp parse_datatype([enum: valid_values], value, setting) do
    parsed = value |> List.to_string |> binary_to_atom
    if Enum.any?(valid_values, fn v -> v == parsed end) do
      parsed
    else

    end
  end
  defp parse_datatype(_datatype, _value, _setting), do: nil
end
