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

Commit abd792d

Browse files
authored
Merge pull request #288 from rspec/add_refinement_detection
Add support for detecting refinement(s)
2 parents be38b04 + 8a7e6b4 commit abd792d

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
@@ -145,6 +145,10 @@ def supports_rebinding_module_methods?
145145
# rubocop:enable Lint/Eval
146146
end
147147

148+
def module_refinement_supported?
149+
Module.method_defined?(:refine) || Module.private_method_defined?(:refine)
150+
end
151+
148152
def module_prepends_supported?
149153
Module.method_defined?(:prepend) || Module.private_method_defined?(:prepend)
150154
end

spec/rspec/support/ruby_features_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ module Support
6969
end
7070

7171
describe RubyFeatures do
72+
specify "#module_refinedment_supported? reflects refinement support" do
73+
if Ruby.mri? && RUBY_VERSION >= '2.1.0'
74+
expect(RubyFeatures.module_refinement_supported?).to eq true
75+
end
76+
end
77+
7278
specify "#supports_exception_cause? exists" do
7379
RubyFeatures.supports_exception_cause?
7480
end

0 commit comments

Comments
 (0)