Drop Ruby < 2.3 support
Created by: pirj
Better viewed ignoring indentation changes https://github.com/rspec/rspec-mocks/pull/1349/files?diff=split&w=1
Sibling PRs:
- https://github.com/rspec/rspec-support/pull/436
- https://github.com/rspec/rspec-expectations/pull/1231
- https://github.com/rspec/rspec-core/pull/2787
As per rspec/rspec#61 (comment)
-
Is this needed in spec_helper.rb config.extend RSpec::Support::RubyFeatures config.include RSpec::Support::RubyFeatures -
RSpec::Support.require_rspec_support 'ruby_features' -
Usage of RubyFeatures -
clean predicate_functions - [-] check respond_to?
-
check method_defined? -
check send (where we call private methods that later became public) -
check if we require_rspec_support ruby_features where RubyFeatures are not used -
check define_method where def would suffice -
check 1.8, 1.9, 2.0, 2.1, jruby, 9.0, 9.1, mri -
check eval -
clean up if RUBY_VERSION < "2.3" || backed_up_method_owner[method_name.to_sym] == self -
change old ruby induced rubocop settings, fix offences - [#] https://github.com/jruby/jruby/issues/1398 - only fixed in JRuby 9.2
-
Can work without this check? Gemfile|28| 4:if RUBY_VERSION <= '2.3.0' && !!(RbConfig::CONFIG['host_os'] =~ /cygwin|mswin|mingw|bccwin|wince|emx/) -
skip "This intermittently fails on JRuby" if RUBY_PLATFORM == 'java' -
remove handle_restoration_failures? -
remove expect_output_warning_on_ruby_lt_2 -
check "jruby" -
clean? return Object unless Object.ancestors.last == ::BasicObject -
clean if defined?(BasicObject)