defmodule Sass.Compiler do @moduledoc """ Connection to the NIF for sass """ @compile {:autoload, false} @on_load {:init, 0} @doc false def init do case load_nif() do :ok -> :ok _ -> raise """ An error occurred when loading LibSass. Make sure you have a C compiler and Erlang 20 installed. If you are not using Erlang 20, either upgrade to Erlang 20. """ end end @doc """ Compiles a Sass to CSS """ def compile(_, _) do {:error, :nif_library_not_loaded} end @doc """ Compiles a Sass file to CSS """ def compile_file(_, _) do {:error, :nif_library_not_loaded} end @doc """ LibSass version """ def version do {:error, :nif_library_not_loaded} end @doc false defp load_nif do :filename.join(:code.priv_dir(:sass_compiler), 'sass_nif') |> :erlang.load_nif(0) end end