class RuboCop::Cop::Style::RedundantDoubleSplatHashBraces


do_something(foo: bar, baz: qux)
# good
do_something(**{foo: bar, baz: qux})
# bad
@example
Checks for redundant uses of double splat hash braces.

def closing_brace(node)

def closing_brace(node)
  node.children.last.source_range.end.join(node.loc.end)
end

def on_hash(node)

def on_hash(node)
  return if node.pairs.empty? || node.pairs.any?(&:hash_rocket?)
  return unless (parent = node.parent)
  return unless parent.kwsplat_type?
  add_offense(parent) do |corrector|
    corrector.remove(parent.loc.operator)
    corrector.remove(opening_brace(node))
    corrector.remove(closing_brace(node))
  end
end

def opening_brace(node)

def opening_brace(node)
  node.loc.begin.join(node.children.first.source_range.begin)
end