pleroma/lib/pleroma/docs/json.ex

21 lines
547 B
Elixir
Raw Normal View History

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