2019-08-30 12:21:48 +02:00
|
|
|
defmodule Pleroma.Docs.JSON do
|
2019-08-30 18:14:01 +02:00
|
|
|
@behaviour Pleroma.Docs.Generator
|
|
|
|
|
|
|
|
@spec process(keyword()) :: {:ok, String.t()}
|
2019-08-30 12:21:48 +02:00
|
|
|
def process(descriptions) do
|
|
|
|
config_path = "docs/generate_config.json"
|
2019-09-03 19:06:22 +02:00
|
|
|
|
2019-11-10 20:54:37 +01:00
|
|
|
with {:ok, file} <- File.open(config_path, [:write, :utf8]),
|
2019-09-03 19:06:22 +02:00
|
|
|
json <- generate_json(descriptions),
|
|
|
|
:ok <- IO.write(file, json),
|
|
|
|
:ok <- File.close(file) do
|
|
|
|
{:ok, config_path}
|
|
|
|
end
|
2019-08-30 12:21:48 +02:00
|
|
|
end
|
|
|
|
|
2019-08-30 18:14:01 +02:00
|
|
|
@spec generate_json([keyword()]) :: String.t()
|
2019-08-30 12:21:48 +02:00
|
|
|
def generate_json(descriptions) do
|
|
|
|
Jason.encode!(descriptions)
|
|
|
|
end
|
|
|
|
end
|