diff --git a/generate_args.exs b/generate_args.exs index 8df68a0f..2ac71fdd 100644 --- a/generate_args.exs +++ b/generate_args.exs @@ -6,7 +6,7 @@ defmodule Farmbot.CeleryScript.AST.Arg.<%= arg %> do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end """ @@ -28,7 +28,6 @@ end for node <- nodes do camel_node = Macro.camelize(node["name"]) allowed_args = Map.get(node, "allowed_args") |> Enum.map(fn(arg_str) -> ":#{arg_str}" end) |> Enum.join(", ") - IO.puts "#{node["name"]} => #{allowed_args}" str = EEx.eval_string(node_template, [allowed_args: allowed_args, node: camel_node]) File.write!("lib/farmbot/celery_script/ast/node/#{node["name"]}.ex", str) # |> Code.eval_string() diff --git a/lib/farmbot/celery_script/ast/arg/_else.ex b/lib/farmbot/celery_script/ast/arg/_else.ex index 1ae19329..284d7b30 100644 --- a/lib/farmbot/celery_script/ast/arg/_else.ex +++ b/lib/farmbot/celery_script/ast/arg/_else.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Else do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/_then.ex b/lib/farmbot/celery_script/ast/arg/_then.ex index 6d5b61ca..31c9cb7a 100644 --- a/lib/farmbot/celery_script/ast/arg/_then.ex +++ b/lib/farmbot/celery_script/ast/arg/_then.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Then do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/axis.ex b/lib/farmbot/celery_script/ast/arg/axis.ex index 945b81c0..a17f03f4 100644 --- a/lib/farmbot/celery_script/ast/arg/axis.ex +++ b/lib/farmbot/celery_script/ast/arg/axis.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Axis do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/channel_name.ex b/lib/farmbot/celery_script/ast/arg/channel_name.ex index 65255d3a..3b8b6c12 100644 --- a/lib/farmbot/celery_script/ast/arg/channel_name.ex +++ b/lib/farmbot/celery_script/ast/arg/channel_name.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.ChannelName do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/is_outdated.ex b/lib/farmbot/celery_script/ast/arg/is_outdated.ex index 9707732f..35d77d6e 100644 --- a/lib/farmbot/celery_script/ast/arg/is_outdated.ex +++ b/lib/farmbot/celery_script/ast/arg/is_outdated.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.IsOutdated do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/label.ex b/lib/farmbot/celery_script/ast/arg/label.ex index c455b9b4..03733f0b 100644 --- a/lib/farmbot/celery_script/ast/arg/label.ex +++ b/lib/farmbot/celery_script/ast/arg/label.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Label do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/lhs.ex b/lib/farmbot/celery_script/ast/arg/lhs.ex index a3a9d2a8..9b198d38 100644 --- a/lib/farmbot/celery_script/ast/arg/lhs.ex +++ b/lib/farmbot/celery_script/ast/arg/lhs.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Lhs do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/location.ex b/lib/farmbot/celery_script/ast/arg/location.ex index 7eee2ffb..a3a19ab7 100644 --- a/lib/farmbot/celery_script/ast/arg/location.ex +++ b/lib/farmbot/celery_script/ast/arg/location.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Location do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/message.ex b/lib/farmbot/celery_script/ast/arg/message.ex index 21ae6352..c43d05d0 100644 --- a/lib/farmbot/celery_script/ast/arg/message.ex +++ b/lib/farmbot/celery_script/ast/arg/message.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Message do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/message_type.ex b/lib/farmbot/celery_script/ast/arg/message_type.ex index f51d78bd..7c94daac 100644 --- a/lib/farmbot/celery_script/ast/arg/message_type.ex +++ b/lib/farmbot/celery_script/ast/arg/message_type.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.MessageType do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/milliseconds.ex b/lib/farmbot/celery_script/ast/arg/milliseconds.ex index e6050806..c23e8996 100644 --- a/lib/farmbot/celery_script/ast/arg/milliseconds.ex +++ b/lib/farmbot/celery_script/ast/arg/milliseconds.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Milliseconds do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/offset.ex b/lib/farmbot/celery_script/ast/arg/offset.ex index 021f3250..b2144183 100644 --- a/lib/farmbot/celery_script/ast/arg/offset.ex +++ b/lib/farmbot/celery_script/ast/arg/offset.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Offset do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/op.ex b/lib/farmbot/celery_script/ast/arg/op.ex index 7078acbb..65420596 100644 --- a/lib/farmbot/celery_script/ast/arg/op.ex +++ b/lib/farmbot/celery_script/ast/arg/op.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Op do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/package.ex b/lib/farmbot/celery_script/ast/arg/package.ex index cc305e0f..c3467efa 100644 --- a/lib/farmbot/celery_script/ast/arg/package.ex +++ b/lib/farmbot/celery_script/ast/arg/package.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Package do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/pin_mode.ex b/lib/farmbot/celery_script/ast/arg/pin_mode.ex index eff1fd32..63f72848 100644 --- a/lib/farmbot/celery_script/ast/arg/pin_mode.ex +++ b/lib/farmbot/celery_script/ast/arg/pin_mode.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.PinMode do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/pin_number.ex b/lib/farmbot/celery_script/ast/arg/pin_number.ex index fbc1c179..1efbae51 100644 --- a/lib/farmbot/celery_script/ast/arg/pin_number.ex +++ b/lib/farmbot/celery_script/ast/arg/pin_number.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.PinNumber do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/pin_value.ex b/lib/farmbot/celery_script/ast/arg/pin_value.ex index c4f97542..e0535cfd 100644 --- a/lib/farmbot/celery_script/ast/arg/pin_value.ex +++ b/lib/farmbot/celery_script/ast/arg/pin_value.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.PinValue do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/pointer_id.ex b/lib/farmbot/celery_script/ast/arg/pointer_id.ex index 26168778..41a22001 100644 --- a/lib/farmbot/celery_script/ast/arg/pointer_id.ex +++ b/lib/farmbot/celery_script/ast/arg/pointer_id.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.PointerId do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/pointer_type.ex b/lib/farmbot/celery_script/ast/arg/pointer_type.ex index 1a74def7..51f77fde 100644 --- a/lib/farmbot/celery_script/ast/arg/pointer_type.ex +++ b/lib/farmbot/celery_script/ast/arg/pointer_type.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.PointerType do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/radius.ex b/lib/farmbot/celery_script/ast/arg/radius.ex index a8348ce1..b4e2faa9 100644 --- a/lib/farmbot/celery_script/ast/arg/radius.ex +++ b/lib/farmbot/celery_script/ast/arg/radius.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Radius do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/rhs.ex b/lib/farmbot/celery_script/ast/arg/rhs.ex index b9b5f840..d984d6f4 100644 --- a/lib/farmbot/celery_script/ast/arg/rhs.ex +++ b/lib/farmbot/celery_script/ast/arg/rhs.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Rhs do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/sequence_id.ex b/lib/farmbot/celery_script/ast/arg/sequence_id.ex index 937597ff..5be7d4f7 100644 --- a/lib/farmbot/celery_script/ast/arg/sequence_id.ex +++ b/lib/farmbot/celery_script/ast/arg/sequence_id.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.SequenceId do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/speed.ex b/lib/farmbot/celery_script/ast/arg/speed.ex index ec336f80..9f42fdcf 100644 --- a/lib/farmbot/celery_script/ast/arg/speed.ex +++ b/lib/farmbot/celery_script/ast/arg/speed.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Speed do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/tool_id.ex b/lib/farmbot/celery_script/ast/arg/tool_id.ex index 588a4002..f7cee804 100644 --- a/lib/farmbot/celery_script/ast/arg/tool_id.ex +++ b/lib/farmbot/celery_script/ast/arg/tool_id.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.ToolId do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/url.ex b/lib/farmbot/celery_script/ast/arg/url.ex index 6463b863..046a6a1f 100644 --- a/lib/farmbot/celery_script/ast/arg/url.ex +++ b/lib/farmbot/celery_script/ast/arg/url.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Url do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/value.ex b/lib/farmbot/celery_script/ast/arg/value.ex index 48338505..f99f4fd4 100644 --- a/lib/farmbot/celery_script/ast/arg/value.ex +++ b/lib/farmbot/celery_script/ast/arg/value.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Value do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/version.ex b/lib/farmbot/celery_script/ast/arg/version.ex index e5bccc52..433645dd 100644 --- a/lib/farmbot/celery_script/ast/arg/version.ex +++ b/lib/farmbot/celery_script/ast/arg/version.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Version do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/x.ex b/lib/farmbot/celery_script/ast/arg/x.ex index a8f0b2f4..5f56411a 100644 --- a/lib/farmbot/celery_script/ast/arg/x.ex +++ b/lib/farmbot/celery_script/ast/arg/x.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.X do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/y.ex b/lib/farmbot/celery_script/ast/arg/y.ex index 9b203fbe..d2c63ad2 100644 --- a/lib/farmbot/celery_script/ast/arg/y.ex +++ b/lib/farmbot/celery_script/ast/arg/y.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Y do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/arg/z.ex b/lib/farmbot/celery_script/ast/arg/z.ex index f0f4f020..32def6df 100644 --- a/lib/farmbot/celery_script/ast/arg/z.ex +++ b/lib/farmbot/celery_script/ast/arg/z.ex @@ -2,5 +2,5 @@ defmodule Farmbot.CeleryScript.AST.Arg.Z do @moduledoc false @behaviour Farmbot.CeleryScript.AST.Arg - def verify(_), do: :ok + def verify(val), do: {:ok, val} end diff --git a/lib/farmbot/celery_script/ast/ast.ex b/lib/farmbot/celery_script/ast/ast.ex index a3aaaa98..8d623983 100644 --- a/lib/farmbot/celery_script/ast/ast.ex +++ b/lib/farmbot/celery_script/ast/ast.ex @@ -8,7 +8,7 @@ defmodule Farmbot.CeleryScript.AST do @moduledoc "CeleryScript Argument." @doc "Verify this arg." - @callback verify(any) :: :ok | {:error, term} + @callback verify(any) :: {:ok, any} | {:error, term} end defmodule Node do @@ -43,7 +43,7 @@ defmodule Farmbot.CeleryScript.AST do if {arg_name, 0} in __MODULE__.module_info(:exports) do case apply(__MODULE__, arg_name, []).verify(val) do # if this argument is valid, continue enumeration. - :ok -> decode_args(rest, [arg | acc]) + {:ok, decoded} -> decode_args(rest, [decoded | acc]) {:error, _} = err -> err end else diff --git a/lib/farmbot/celery_script/ast/node/sequence.ex b/lib/farmbot/celery_script/ast/node/sequence.ex index 154028d4..aa46bf5d 100644 --- a/lib/farmbot/celery_script/ast/node/sequence.ex +++ b/lib/farmbot/celery_script/ast/node/sequence.ex @@ -1,5 +1,5 @@ defmodule Farmbot.CeleryScript.AST.Node.Sequence do @moduledoc false use Farmbot.CeleryScript.AST.Node - allow_args [:version, :is_outdated] + allow_args [:version] end