class RuboCop::Cop::Style::MixinUsage
Checks that ‘include`, `extend` and `prepend` statements appear inside classes and modules, not at the top level, so as to not affect the behavior of `Object`.
@example
# bad include M class C end # bad extend M class C end # bad prepend M class C end # good class C include M end # good class C extend M end # good class C prepend M end
Constants
- MSG
- RESTRICT_ON_SEND
Public Instance Methods
Source
# File lib/rubocop/cop/style/mixin_usage.rb, line 62 def on_send(node) include_statement(node) do |statement| return unless in_top_level_scope?(node) add_offense(node, message: format(MSG, statement: statement)) end end