Current section
Files
Jump to
Current section
Files
lib/open_api/reader.ex
defmodule OpenAPI.Reader do
@moduledoc false
alias OpenAPI.State
@spec read(map, String.t()) :: State.t()
def read(state, relative_filename) do
filename = Path.join(state.current_file, relative_filename) |> Path.expand()
parsed_file = YamlElixir.read_from_file!(filename)
%State{state | files: Map.put(state.files, filename, parsed_file)}
end
@spec ensure_file(map, String.t()) :: map
def ensure_file(state, file) do
if Map.has_key?(state.files, file) do
state
else
read(state, file)
end
end
end