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