Class: RuboCop::Cop::Discourse::NoMixingMultisiteAndStandardSpecs
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::Discourse::NoMixingMultisiteAndStandardSpecs
- Defined in:
- lib/rubocop/cop/discourse/no_mixing_multisite_and_standard_specs.rb
Overview
Use ‘type: :multisite` only on a top-level `describe`. Mixing multisite and standard specs can lead to errors, e.g. when using `fab!` helper.
Constant Summary collapse
- MSG =
"Do not mix multisite and standard specs. Consider moving multisite describes to a separate file."
Instance Method Summary collapse
-
#initialize(config = nil, options = nil) ⇒ NoMixingMultisiteAndStandardSpecs
constructor
A new instance of NoMixingMultisiteAndStandardSpecs.
- #on_block(node) ⇒ Object
Constructor Details
#initialize(config = nil, options = nil) ⇒ NoMixingMultisiteAndStandardSpecs
Returns a new instance of NoMixingMultisiteAndStandardSpecs.
30 31 32 33 |
# File 'lib/rubocop/cop/discourse/no_mixing_multisite_and_standard_specs.rb', line 30 def initialize(config = nil, = nil) super @describes = nil end |
Instance Method Details
#on_block(node) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/rubocop/cop/discourse/no_mixing_multisite_and_standard_specs.rb', line 35 def on_block(node) return if !top_level?(node) return if !describe?(node.children.first) type = !!multisite_describe?(node.children.first) if !@describes.nil? && @describes != type add_offense(node, message: MSG) else @describes = type end end |