diff --git a/README.md b/README.md index 25f16e9..38c8da0 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ by adding `xler` to your list of dependencies in `mix.exs`: ```elixir def deps do [ - {:xler, "~> 0.1.0"} + {:xler, "~> 0.2.0"} ] end ``` diff --git a/lib/xler.ex b/lib/xler.ex index 8327c89..3d358ff 100644 --- a/lib/xler.ex +++ b/lib/xler.ex @@ -14,7 +14,8 @@ defmodule Xler do {:ok, ["Sheet 1"]} """ - def worksheets(filename), do: filename |> Native.worksheets() + def worksheets(filename) when is_binary(filename), do: filename |> Native.worksheets() + def worksheets(_), do: {:error, "not a string"} @doc """ Parses a specific worksheet from a file @@ -27,5 +28,8 @@ defmodule Xler do {:ok, [["Date", "Text"]]} """ - def parse(filename, worksheet), do: filename |> Native.parse(worksheet) + def parse(filename, worksheet) when is_binary(filename) and is_binary(worksheet), + do: filename |> Native.parse(worksheet) + + def parse(_, _), do: {:error, "not a string"} end diff --git a/lib/xler/native.ex b/lib/xler/native.ex index f478144..034146f 100644 --- a/lib/xler/native.ex +++ b/lib/xler/native.ex @@ -1,5 +1,6 @@ defmodule Xler.Native do use Rustler, otp_app: :xler, crate: :xler_native + @moduledoc false def parse(_filename, _worksheet), do: error() def worksheets(_filename), do: error() diff --git a/mix.exs b/mix.exs index 0db4249..44dedb4 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Xler.MixProject do def project do [ app: :xler, - version: "0.1.1", + version: "0.2.3", elixir: "~> 1.8", start_permanent: Mix.env() == :prod, compilers: [:rustler] ++ Mix.compilers(),