diff --git a/lib/project_pull_mover/options.rb b/lib/project_pull_mover/options.rb index b67c7ce..a0f5563 100644 --- a/lib/project_pull_mover/options.rb +++ b/lib/project_pull_mover/options.rb @@ -166,7 +166,15 @@ def ignored_option_ids sig { returns T.nilable(String) } def failing_test_label - @options[:"failing-test-label"] + return @failing_test_label if defined?(@failing_test_label) + value = @options[:"failing-test-label"] + if value + value = value.strip + if value.size < 1 + value = nil + end + end + @failing_test_label = value end sig { returns String } diff --git a/lib/project_pull_mover/project.rb b/lib/project_pull_mover/project.rb index 26530b6..520d5b4 100644 --- a/lib/project_pull_mover/project.rb +++ b/lib/project_pull_mover/project.rb @@ -105,19 +105,6 @@ def title end end - sig { returns(T.nilable(String)) } - def failing_test_label_name - return @failing_test_label_name if defined?(@failing_test_label_name) - result = @options.failing_test_label - if result - result = result.strip - if result.size < 1 - result = nil - end - end - @failing_test_label_name = result - end - private def option_name_for(option_id) diff --git a/lib/project_pull_mover/pull_request.rb b/lib/project_pull_mover/pull_request.rb index e4bb207..d8cf3f1 100644 --- a/lib/project_pull_mover/pull_request.rb +++ b/lib/project_pull_mover/pull_request.rb @@ -28,7 +28,7 @@ def initialize(data, options:, project:, gh_cli:) end def set_graphql_data(repo_and_pull_data) - @repo ||= Repository.new(repo_and_pull_data, failing_test_label_name: @project.failing_test_label_name) + @repo ||= Repository.new(repo_and_pull_data) @gql_data = repo_and_pull_data["pullRequest"] || {} end @@ -41,7 +41,7 @@ def number sig { returns T.nilable(T::Boolean) } def has_failing_test_label? - @project.failing_test_label_name && labels.include?(@project.failing_test_label_name) + failing_test_label && labels.include?(failing_test_label) end sig { returns T::Array[String] } @@ -454,14 +454,14 @@ def should_have_conflicting_status? sig { returns T.nilable(T::Boolean) } def should_apply_failing_test_label? - failing_required_builds? && failing_test_label_name && !has_failing_test_label? + failing_required_builds? && failing_test_label && !has_failing_test_label? end sig { returns T.nilable(String) } def apply_label_if_necessary if should_apply_failing_test_label? - apply_label(label_name: T.must(failing_test_label_name)) - return failing_test_label_name + apply_label(label_name: T.must(failing_test_label)) + return failing_test_label end nil @@ -469,14 +469,14 @@ def apply_label_if_necessary sig { returns T.nilable(T::Boolean) } def should_remove_failing_test_label? - !failing_required_builds? && failing_test_label_name && has_failing_test_label? + !failing_required_builds? && failing_test_label && has_failing_test_label? end sig { returns T.nilable(String) } def remove_label_if_necessary if should_remove_failing_test_label? - remove_label(label_name: T.must(failing_test_label_name)) - return failing_test_label_name + remove_label(label_name: T.must(failing_test_label)) + return failing_test_label end nil @@ -606,8 +606,8 @@ def load_required_checks end sig { returns T.nilable(String) } - def failing_test_label_name - @project.failing_test_label_name + def failing_test_label + @options.failing_test_label end sig { returns T::Array[String] } diff --git a/lib/project_pull_mover/repository.rb b/lib/project_pull_mover/repository.rb index 7f91865..6e4898b 100644 --- a/lib/project_pull_mover/repository.rb +++ b/lib/project_pull_mover/repository.rb @@ -6,10 +6,9 @@ module ProjectPullMover class Repository extend T::Sig - sig { params(gql_data: T::Hash[T.untyped, T.untyped], failing_test_label_name: T.nilable(String)).void } - def initialize(gql_data, failing_test_label_name: nil) + sig { params(gql_data: T::Hash[T.untyped, T.untyped]).void } + def initialize(gql_data) @gql_data = gql_data - @raw_failing_test_label_name = failing_test_label_name end sig { returns String }