Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

Commit 8a7e6b4

Browse files
committed
Add support for detecting refinement support
1 parent 322c846 commit 8a7e6b4

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

lib/rspec/support/ruby_features.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,10 @@ def supports_rebinding_module_methods?
141141
# rubocop:enable Lint/Eval
142142
end
143143

144+
def module_refinement_supported?
145+
Module.method_defined?(:refine) || Module.private_method_defined?(:refine)
146+
end
147+
144148
def module_prepends_supported?
145149
Module.method_defined?(:prepend) || Module.private_method_defined?(:prepend)
146150
end

spec/rspec/support/ruby_features_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ module Support
5959
end
6060

6161
describe RubyFeatures do
62+
specify "#module_refinedment_supported? reflects refinement support" do
63+
if Ruby.mri? && RUBY_VERSION >= '2.1.0'
64+
expect(RubyFeatures.module_refinement_supported?).to eq true
65+
end
66+
end
67+
6268
specify "#supports_exception_cause? exists" do
6369
RubyFeatures.supports_exception_cause?
6470
end

0 commit comments

Comments
 (0)