This commit is contained in:
Connor Rigby 2017-11-03 16:26:13 -07:00
parent 4f025c3233
commit a501a7e14c
33 changed files with 34 additions and 35 deletions

View file

@ -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()

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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