Skip to content

Commit 0a0893e

Browse files
committed
Extract script running from CommandLine -> ScriptRunner module
1 parent 88d238b commit 0a0893e

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

lib/command_line.ex

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,27 @@
11
defmodule ElixirScript.CommandLine do
2-
alias ElixirScript.Context
32
alias ElixirScript.Core
43
alias ElixirScript.CustomLogger, as: Logger
4+
alias ElixirScript.ScriptRunner
55

66
def main(args \\ []) do
77
Logger.debug("Running in debug mode")
8+
Logger.debug("All Environment Variables: #{inspect(System.get_env(), limit: :infinity, printable_limit: :infinity)}")
89
{opts, _, _} = OptionParser.parse(args, strict: [help: :boolean])
10+
Logger.debug("Parsed options: #{inspect(opts, limit: :infinity, printable_limit: :infinity)}")
911

1012
if opts[:help] do
1113
print_help()
1214
else
13-
run_script()
15+
result = ScriptRunner.run(get_script())
16+
Core.set_output("result", result)
17+
Logger.debug("Result output: #{inspect(result, limit: :infinity, printable_limit: :infinity)}")
1418
end
1519
end
1620

17-
defp run_script do
18-
Logger.debug("All Environment Variables: #{inspect(System.get_env(), limit: :infinity, printable_limit: :infinity)}")
19-
21+
defp get_script do
2022
script = Core.get_env_input("script", required: true)
2123
Logger.debug("Script input: #{inspect(script, limit: :infinity, printable_limit: :infinity)}")
22-
23-
{value, _binding} = Code.eval_string(script, context: Context.from_github_environment())
24-
Core.set_output("result", value)
25-
Logger.debug("Result output: #{inspect(value, limit: :infinity, printable_limit: :infinity)}")
24+
script
2625
end
2726

2827
defp print_help do

lib/script_runner.ex

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
defmodule ElixirScript.ScriptRunner do
2+
alias ElixirScript.Context
3+
4+
def run(script) do
5+
{value, _binding} = Code.eval_string(script, context: Context.from_github_environment())
6+
value
7+
end
8+
end

0 commit comments

Comments
 (0)