Sha256: 3fec8dce45c23e7b9e2f9355d2596c31a9d7cdf85fd84087b11d75632cb6d7d4
Contents?: true
Size: 1.18 KB
Versions: 12
Compression:
Stored size: 1.18 KB
Contents
# frozen-string-literal: true require_relative '../rubocop' unless defined?(RuboCop::Cop::StatsD) module RuboCop module Cop module StatsD # This Rubocop will check for using the return value of StatsD metric calls, which is deprecated. # To check your codebase, use the following Rubocop invocation: # # rubocop --require `bundle show statsd-instrument`/lib/statsd/instrument/rubocop.rb \ # --only StatsD/MetricReturnValue # # This cop cannot autocorrect offenses. In production code, StatsD should be used in a fire-and-forget # fashion. This means that you shouldn't rely on the return value. If you really need to access the # emitted metrics, you can look into `capture_statsd_calls` class MetricReturnValue < Cop include RuboCop::Cop::StatsD MSG = 'Do not use the return value of StatsD metric methods' INVALID_PARENTS = %i{lvasgn array pair send return yield} def on_send(node) if metric_method?(node) && node.arguments.last&.type != :block_pass add_offense(node.parent) if INVALID_PARENTS.include?(node.parent&.type) end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems