Skip to content

Commit 4db36c7

Browse files
authored
Merge pull request #837 from Shopify/vs/fix_dependency_detector_outside_of_bundle
Prevent dependency detector from failing outside of a bundle
2 parents c3159eb + 80eb2ba commit 4db36c7

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib/ruby_lsp/requests/support/dependency_detector.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@ def detected_test_library
3838

3939
sig { params(gem_pattern: Regexp).returns(T::Boolean) }
4040
def direct_dependency?(gem_pattern)
41-
Bundler.locked_gems.dependencies.keys.grep(gem_pattern).any?
41+
Bundler.with_original_env { Bundler.default_gemfile } &&
42+
Bundler.locked_gems.dependencies.keys.grep(gem_pattern).any?
43+
rescue Bundler::GemfileNotFound
44+
false
4245
end
4346
end
4447
end

test/requests/support/dependency_detector_test.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,10 @@ def test_detects_rails_if_both_rails_and_minitest_are_present
3939

4040
assert_equal("rails", DependencyDetector.detected_test_library)
4141
end
42+
43+
def test_direct_dependency_returns_false_outside_of_bundle
44+
File.expects(:file?).at_least_once.returns(false)
45+
refute(DependencyDetector.direct_dependency?(/^ruby-lsp/))
46+
end
4247
end
4348
end

0 commit comments

Comments
 (0)