Module: RSpec::Support::RubyFeatures Private

Defined in:
lib/rspec/support/ruby_features.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Provides query methods for ruby features that differ among implementations.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.caller_locations_supported?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


63
64
65
# File 'lib/rspec/support/ruby_features.rb', line 63

def caller_locations_supported?
  respond_to?(:caller_locations, true)
end

.module_prepends_supported?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


157
158
159
# File 'lib/rspec/support/ruby_features.rb', line 157

def module_prepends_supported?
  Module.method_defined?(:prepend) || Module.private_method_defined?(:prepend)
end

.module_refinement_supported?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


153
154
155
# File 'lib/rspec/support/ruby_features.rb', line 153

def module_refinement_supported?
  Module.method_defined?(:refine) || Module.private_method_defined?(:refine)
end

.optional_and_splat_args_supported?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


59
60
61
# File 'lib/rspec/support/ruby_features.rb', line 59

def optional_and_splat_args_supported?
  Method.method_defined?(:parameters)
end

Instance Method Details

#kw_args_supported?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


99
100
101
# File 'lib/rspec/support/ruby_features.rb', line 99

def kw_args_supported?
  RUBY_VERSION >= '2.0.0'
end

#required_kw_args_supported?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


103
104
105
# File 'lib/rspec/support/ruby_features.rb', line 103

def required_kw_args_supported?
  RUBY_VERSION >= '2.1.0'
end

#ripper_supported?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


89
90
91
# File 'lib/rspec/support/ruby_features.rb', line 89

def ripper_supported?
  true
end

#supports_exception_cause?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


68
69
70
# File 'lib/rspec/support/ruby_features.rb', line 68

def supports_exception_cause?
  true
end

#supports_rebinding_module_methods?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


107
108
109
# File 'lib/rspec/support/ruby_features.rb', line 107

def supports_rebinding_module_methods?
  RUBY_VERSION.to_i >= 2
end