class RuboCop::Cop::Lint::UnneededRequireStatement

Checks for unnecessary `require` statement.

The following features are unnecessary `require` statement because they are already loaded.

ruby -ve 'p $LOADED_FEATURES.reject { |feature| %r|/| =~ feature }' ruby 2.2.8p477 (2017-09-14 revision 59906) [x86_64-darwin13]

“enumerator.so”, “rational.so”, “complex.so”, “thread.rb”

This cop targets Ruby 2.2 or higher containing these 4 features.

@example

# bad
require 'unloaded_feature'
require 'thread'

# good
require 'unloaded_feature'

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/lint/unneeded_require_statement.rb, line 41
def autocorrect(node)
  lambda do |corrector|
    range = range_with_surrounding_space(node.loc.expression, :right)
    corrector.remove(range)
  end
end
on_send(node) click to toggle source
# File lib/rubocop/cop/lint/unneeded_require_statement.rb, line 36
def on_send(node)
  return unless unnecessary_require_statement?(node)
  add_offense(node)
end