module RSpec::Support::RubyFeatures
@api private
Provides query methods for ruby features that differ among implementations.
Public Instance Methods
# File rspec-support/lib/rspec/support/ruby_features.rb, line 85 def caller_locations_supported? respond_to?(:caller_locations, true) end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 155 def distincts_kw_args_from_positional_hash? RUBY_VERSION >= '3.0.0' end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 200 def foo; end
On JRuby 1.7 ‘–1.8` mode, `Process.respond_to?(:fork)` returns true, but when you try to fork, it raises an error:
NotImplementedError: fork is not available on this platform
When we drop support for JRuby 1.7 and/or Ruby
1.8, we can drop this special case.
# File rspec-support/lib/rspec/support/ruby_features.rb, line 72 def fork_supported? false end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 111 def kw_arg_separation? true end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 160 def kw_args_supported? RUBY_VERSION >= '2.0.0' end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 216 def module_prepends_supported? Module.method_defined?(:prepend) || Module.private_method_defined?(:prepend) end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 212 def module_refinement_supported? Module.method_defined?(:refine) || Module.private_method_defined?(:refine) end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 81 def optional_and_splat_args_supported? Method.method_defined?(:parameters) end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 164 def required_kw_args_supported? RUBY_VERSION >= '2.1.0' end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 146 def ripper_supported? true end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 90 def supports_exception_cause? true end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 168 def supports_rebinding_module_methods? RUBY_VERSION.to_i >= 2 end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 100 def supports_syntax_suggest? true end
# File rspec-support/lib/rspec/support/ruby_features.rb, line 121 def supports_taint? false end