class RuboCop::Cop::Style::RedundantDoubleSplatHashBraces

Checks for redundant uses of double splat hash braces.

@example

# bad
do_something(**{foo: bar, baz: qux})

# good
do_something(foo: bar, baz: qux)

Constants

MSG

Public Instance Methods

on_hash(node) click to toggle source
# File lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb, line 21
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

Private Instance Methods

closing_brace(node) click to toggle source
# File lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb, line 39
def closing_brace(node)
  node.children.last.source_range.end.join(node.loc.end)
end
opening_brace(node) click to toggle source
# File lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb, line 35
def opening_brace(node)
  node.loc.begin.join(node.children.first.source_range.begin)
end