Current section
Files
Jump to
Current section
Files
lib/step/handlers.ex
defmodule EarendilCli.Step.Handlers do
alias EarendilCli.Protocols.Task, as: Task
alias EarendilCli.Deployment.Model, as: Deployment
alias EarendilCli.Transaction.Model, as: Transaction
alias EarendilCli.Query.Model, as: Query
alias EarendilCli.Test.Model, as: Test
def handle_step(config, %{type: "deploy"} = step) do
parameter = Map.put(step.options, :config, config)
Task.run(struct(Deployment, parameter))
end
def handle_step(config, %{type: "transaction"} = step) do
parameter = Map.put(step.options, :config, config)
Task.run(struct(Transaction, parameter))
end
def handle_step(config, %{type: "query"} = step) do
parameter = Map.put(step.options, :config, config)
Task.run(struct(Query, parameter))
end
def handle_step(config, %{type: "test"} = step) do
parameter = Map.put(step.options, :config, config)
Task.run(struct(Test, parameter))
end
end