Skip to content

Commit f065fa1

Browse files
committed
Add --gh-token arg
1 parent e2c6298 commit f065fa1

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

lib/command_line.ex

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ defmodule ElixirScript.CommandLine do
1212
@moduledoc """
1313
Struct for parsed args
1414
"""
15-
defstruct debug?: false, help?: false, script: nil
15+
defstruct debug?: false, gh_token: nil, help?: false, script: nil
1616
end
1717

1818
def main(args, opts \\ []) do
@@ -41,16 +41,18 @@ defmodule ElixirScript.CommandLine do
4141
def parse_args!(args) do
4242
{parsed, _remaining_args} =
4343
OptionParser.parse!(args,
44-
strict: [script: :string, debug: :boolean, help: :boolean],
44+
strict: [script: :string, gh_token: :string, debug: :boolean, help: :boolean],
4545
aliases: [d: :debug, h: :help, s: :script]
4646
)
4747

4848
debug? = Keyword.get(parsed, :debug, System.get_env("INPUT_DEBUG") == "true")
49-
script = Keyword.get(parsed, :script, System.get_env("INPUT_SCRIPT"))
49+
gh_token = Keyword.get(parsed, :gh_token, System.get_env("GH_TOKEN"))
5050
help? = Keyword.get(parsed, :help, false)
51+
script = Keyword.get(parsed, :script, System.get_env("INPUT_SCRIPT"))
5152

5253
%ParsedArgs{
5354
debug?: debug?,
55+
gh_token: gh_token,
5456
help?: help?,
5557
script: script
5658
}
@@ -63,6 +65,7 @@ defmodule ElixirScript.CommandLine do
6365
6466
Options:
6567
--script, -s Specifies the script to run [INPUT_SCRIPT]
68+
--gh-token The GitHub Token to use for the Tentacat client [GH_TOKEN]
6669
--debug, -d Enables debug mode [INPUT_DEBUG]
6770
--help, -h Show this help message and exit
6871

test/command_line_test.exs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ defmodule ElixirScript.CommandLineTest do
3535
assert CommandLine.parse_args!(args) == expected
3636
end
3737

38+
test "parses --gh-token argument correctly" do
39+
args = ["--gh-token", "token"]
40+
expected = %CommandLine.ParsedArgs{gh_token: "token"}
41+
assert CommandLine.parse_args!(args) == expected
42+
end
43+
3844
test "parses --help argument correctly" do
3945
args = ["--help"]
4046
expected = %CommandLine.ParsedArgs{help?: true}
@@ -50,9 +56,10 @@ defmodule ElixirScript.CommandLineTest do
5056
test "falls back to environment variables when no arguments are given" do
5157
safe_put_env("INPUT_SCRIPT", @script)
5258
safe_put_env("INPUT_DEBUG", "true")
59+
safe_put_env("GH_TOKEN", "token")
5360

5461
args = []
55-
expected = %CommandLine.ParsedArgs{debug?: true, script: @script}
62+
expected = %CommandLine.ParsedArgs{debug?: true, gh_token: "token", script: @script}
5663

5764
assert CommandLine.parse_args!(args) == expected
5865
end

0 commit comments

Comments
 (0)