class RuboCop::Cop::Performance::UriDefaultParser

This cop identifies places where `URI::Parser.new` can be replaced by `URI::DEFAULT_PARSER`.

@example

# bad
URI::Parser.new

# good
URI::DEFAULT_PARSER

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/performance/uri_default_parser.rb, line 35
def autocorrect(node)
  lambda do |corrector|
    double_colon = uri_parser_new?(node) ? '::' : ''

    corrector.replace(
      node.loc.expression, "#{double_colon}URI::DEFAULT_PARSER"
    )
  end
end
on_send(node) click to toggle source
# File lib/rubocop/cop/performance/uri_default_parser.rb, line 26
def on_send(node)
  return unless uri_parser_new?(node) do |captured_value|
    double_colon = captured_value ? '::' : ''
    message = format(MSG, double_colon, double_colon)

    add_offense(node, message: message)
  end
end