fix: Update solve/1 to handle both file paths and direct content

This commit is contained in:
Ruidy (aider) 2024-12-02 08:17:51 +01:00
parent d200c5b512
commit ed6da53845
No known key found for this signature in database
GPG key ID: E00F51288CB857CC

View file

@ -12,11 +12,17 @@ defmodule AdventCode2024.Solutions.Day2 do
def solve(input \\ @default_input) def solve(input \\ @default_input)
def solve(""), do: {:error, :no_valid_reports} def solve(""), do: {:error, :no_valid_reports}
def solve(input) when is_binary(input) and input != "" do def solve(input) when is_binary(input) and input != "" do
if String.contains?(input, "\n") or !String.contains?(input, "/") do
# Input is content
solve_content(input)
else
# Input is file path
case File.read(input) do case File.read(input) do
{:ok, content} -> solve_content(content) {:ok, content} -> solve_content(content)
{:error, reason} -> {:error, reason} {:error, reason} -> {:error, reason}
end end
end end
end
defp solve_content(""), do: {:error, :no_valid_reports} defp solve_content(""), do: {:error, :no_valid_reports}
defp solve_content(content) when is_binary(content) and content != "" do defp solve_content(content) when is_binary(content) and content != "" do