Skip to content

Commit 6abdc93

Browse files
emyllerClaude
andauthored
refactor: use release-please markers for version instead of Application.spec (#51)
Use x-release-please markers directly in the code to maintain a pseudo-hardcoded version number, rather than reading from Application.spec at runtime. This approach: - Makes the implementation consistent across Flagsmith SDKs - Relies solely on release-please for version management - Keeps version visible in source code for easier debugging - Simplifies the user_agent/0 function implementation The version is now defined directly in lib/flagsmith_client.ex between x-release-please markers, and release-please will automatically update it during releases. Also removed the redundant user_agent/0 unit test since the function now simply returns a hardcoded string with no conditional logic. The HTTP integration test sufficiently validates the User-Agent header behavior. Co-authored-by: Claude <[email protected]>
1 parent 11148da commit 6abdc93

File tree

3 files changed

+5
-13
lines changed

3 files changed

+5
-13
lines changed

lib/flagsmith_client.ex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ defmodule Flagsmith.Client do
1111
@doc false
1212
@spec user_agent() :: String.t()
1313
def user_agent do
14-
case Application.spec(:flagsmith_engine, :vsn) do
15-
nil -> "flagsmith-elixir-sdk/unknown"
16-
vsn -> "flagsmith-elixir-sdk/#{vsn}"
17-
end
14+
# x-release-please-start-version
15+
version = "2.3.0"
16+
# x-release-please-end
17+
"flagsmith-elixir-sdk/#{version}"
1818
end
1919

2020
@doc """

release-please-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"prerelease": false,
1111
"include-component-in-tag": false,
1212
"extra-files": [
13+
"lib/flagsmith_client.ex",
1314
"test/flagsmith_client_test.exs"
1415
]
1516
}

test/flagsmith_client_test.exs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -439,15 +439,6 @@ defmodule Flagsmith.Client.Test do
439439
end
440440

441441
describe "User-Agent header" do
442-
test "user_agent/0 returns expected version" do
443-
# x-release-please-start-version
444-
expected_version = "2.3.0"
445-
# x-release-please-end
446-
447-
user_agent = Flagsmith.Client.user_agent()
448-
assert user_agent == "flagsmith-elixir-sdk/#{expected_version}"
449-
end
450-
451442
test "HTTP client includes User-Agent header", %{config: config} do
452443
# x-release-please-start-version
453444
expected_version = "2.3.0"

0 commit comments

Comments
 (0)