lib/cucumber/ci_environment.rb in cucumber-ci-environment-7.0.1 vs lib/cucumber/ci_environment.rb in cucumber-ci-environment-8.0.0
- old
+ new
@@ -21,23 +21,36 @@
result = {
name: ci_environment['name'],
url: url,
buildNumber: evaluate(ci_environment['buildNumber'], env),
- git: {
- remote: remove_userinfo_from_url(evaluate(ci_environment['git']['remote'], env)),
- revision: evaluate(ci_environment['git']['revision'], env),
- branch: evaluate(ci_environment['git']['branch'], env),
- }
}
- tag = evaluate(ci_environment['git']['tag'], env)
- if tag
- result[:git][:tag] = tag
- end
+
+ detected_git = detect_git(ci_environment, env)
+ result[:git] = detected_git if detected_git
result
end
+ def detect_git(ci_environment, env)
+ revision = evaluate(ci_environment['git']['revision'], env)
+ return nil if revision.nil?
+
+ remote = evaluate(ci_environment['git']['remote'], env)
+ return nil if remote.nil?
+
+ git_info = {
+ remote: remove_userinfo_from_url(remote),
+ revision: revision,
+ }
+
+ tag = evaluate(ci_environment['git']['tag'], env)
+ branch = evaluate(ci_environment['git']['branch'], env)
+ git_info[:tag] = tag if tag
+ git_info[:branch] = branch if branch
+ git_info
+ end
+
def remove_userinfo_from_url(value)
return nil if value.nil?
begin
uri = URI(value)
@@ -46,8 +59,8 @@
rescue StandardError
value
end
end
- module_function :detect_ci_environment, :detect, :remove_userinfo_from_url
+ module_function :detect_ci_environment, :detect, :detect_git, :remove_userinfo_from_url
end
end