diff --git a/lib/geef/object.ex b/lib/geef/object.ex index 4845d52..a07bf37 100644 --- a/lib/geef/object.ex +++ b/lib/geef/object.ex @@ -44,10 +44,10 @@ defmodule Geef.Object do Tree.get(tree, key) end - def get(tree = %Object{type: :tree}, key) do + def get(tree = %Object{type: :tree}, key, default \\ nil) do case fetch(tree, key) do {:ok, entry} -> entry - {:error, _} -> nil + {:error, _} -> default end end @@ -56,4 +56,8 @@ defmodule Geef.Object do raise ArgumentError end + def pop(_tree, _key) do + raise ArgumentError + end + end diff --git a/mix.exs b/mix.exs index 17a9752..8ae4cb1 100644 --- a/mix.exs +++ b/mix.exs @@ -54,11 +54,13 @@ defmodule Mix.Tasks.Compile.Nif do exts = Keyword.get(config, :exts, [:c]) compiler = Keyword.get(config, :compilers, ["cc", "gcc", "clang"]) |> find_compiler - if cflags = System.get_env("CFLAGS") do - # FIXME: this isn't going to work too well with quoted spaces - # inside arguments - flags = [flags, String.split(cflags)] - end + flags = + case cflags = System.get_env("CFLAGS") do + # FIXME: this isn't going to work too well with quoted spaces + # inside arguments + true -> [flags, String.split(cflags)] + _ -> flags + end # Create the directory (e.g. "priv/") File.mkdir_p!(Path.dirname(file))