module RuboCop::Cop::RSpec::Metadata

Helper methods to find RSpec metadata.

Public Instance Methods

on_block(node) click to toggle source
# File lib/rubocop/cop/rspec/mixin/metadata.rb, line 30
def on_block(node)
  rspec_configure(node) do |block_var|
    metadata_in_block(node, block_var) do |metadata_arguments|
      on_metadata_arguments(metadata_arguments)
    end
  end

  rspec_metadata(node) do |metadata_arguments|
    on_metadata_arguments(metadata_arguments)
  end
end
Also aliased as: on_numblock
on_metadata(_symbols, _hash) click to toggle source
# File lib/rubocop/cop/rspec/mixin/metadata.rb, line 43
def on_metadata(_symbols, _hash)
  raise ::NotImplementedError
end
on_numblock(node)
Alias for: on_block

Private Instance Methods

on_metadata_arguments(metadata_arguments) click to toggle source
# File lib/rubocop/cop/rspec/mixin/metadata.rb, line 49
def on_metadata_arguments(metadata_arguments)
  *symbols, last = metadata_arguments
  hash = nil
  case last&.type
  when :hash
    hash = last
  when :sym
    symbols << last
  end
  on_metadata(symbols, hash)
end