module RuboCop::Cop::RSpec::TopLevelGroup
Helper methods for top level example group cops
Public Instance Methods
on_new_investigation()
click to toggle source
Calls superclass method
# File lib/rubocop/cop/rspec/mixin/top_level_group.rb, line 10 def on_new_investigation super top_level_groups.each do |node| on_top_level_example_group(node) if example_group?(node) on_top_level_group(node) end end
top_level_groups()
click to toggle source
# File lib/rubocop/cop/rspec/mixin/top_level_group.rb, line 19 def top_level_groups @top_level_groups ||= top_level_nodes(root_node).select { |n| spec_group?(n) } end
Private Instance Methods
on_top_level_example_group(_node)
click to toggle source
Dummy methods to be overridden in the consumer
# File lib/rubocop/cop/rspec/mixin/top_level_group.rb, line 27 def on_top_level_example_group(_node); end
on_top_level_group(_node)
click to toggle source
# File lib/rubocop/cop/rspec/mixin/top_level_group.rb, line 29 def on_top_level_group(_node); end
root_node()
click to toggle source
# File lib/rubocop/cop/rspec/mixin/top_level_group.rb, line 48 def root_node processed_source.ast end
top_level_group?(node)
click to toggle source
# File lib/rubocop/cop/rspec/mixin/top_level_group.rb, line 31 def top_level_group?(node) top_level_groups.include?(node) end
top_level_nodes(node)
click to toggle source
# File lib/rubocop/cop/rspec/mixin/top_level_group.rb, line 35 def top_level_nodes(node) return [] if node.nil? case node.type when :begin node.children when :module, :class top_level_nodes(node.body) else [node] end end