class RuboCop::Cop::RSpec::Focus

end
describe MyClass do
# good
end
fdescribe MyClass do
end
describe MyClass, :focus do
end
describe MyClass, focus: true do
# bad
@example
Checks if examples are focused.

def correct_send(corrector, focus)

def correct_send(corrector, focus)
  range = focus.loc.selector
  unfocused = focus.method_name.to_s.sub(/^f/, '')
  unless Examples.regular(unfocused) || ExampleGroups.regular(unfocused)
    return
  end
  corrector.replace(range,
                    range.source.sub(focus.method_name.to_s, unfocused))
end

def focus_metadata(node, &block)

def focus_metadata(node, &block)
  yield(node) if focused_block?(node)
  metadata(node, &block)
end

def on_send(node)

def on_send(node)
  focus_metadata(node) do |focus|
    add_offense(focus) do |corrector|
      if focus.pair_type? || focus.str_type? || focus.sym_type?
        corrector.remove(with_surrounding(focus))
      elsif focus.send_type?
        correct_send(corrector, focus)
      end
    end
  end
end

def with_surrounding(focus)

def with_surrounding(focus)
  range_with_space = range_with_surrounding_space(
    range: focus.loc.expression,
    side: :left
  )
  range_with_surrounding_comma(range_with_space, :left)
end