Class: RuboCop::Cop::StatsD::SingletonConfiguration
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::StatsD::SingletonConfiguration
- Includes:
- RuboCop::Cop::StatsD
- Defined in:
- lib/statsd/instrument/rubocop/singleton_configuration.rb
Overview
This Rubocop will check for calls to StatsD singleton configuration methods
(e.g. StatsD.prefix
). The library is moving away from having just a single
singleton client, so these methods are deprecated.
Use the following Rubocop invocation to check your project's codebase:
rubocop --require `bundle show statsd-instrument`/lib/statsd/instrument/rubocop.rb \
--only StatsD/SingletonConfiguration
This cop will not autocorrect violations. There are several ways of fixing the violation.
- The best option is to configure the library using environment variables, like
STATSD_ADDR
,STATSD_IMPLEMENTATION
,STATSD_PREFIX
, andSTATSD_DEFAULT_TAGS
. Metric methods called on the StatsD singleton (e.g.StatsD.increment
) will by default be delegated to a client that is configured using these environment variables. - Alternatively, you can instantiate your own client using
StatsD::Instrument::Client.new
, and assign it toStatsD.singleton_client
. The client constructor accepts many of the same options. - If you have to, you can call the old methods on
StatsD.legacy_singleton_client
. Note that this option will go away in the next major version.
Constant Summary collapse
- MSG =
<<~MESSAGE Singleton methods to configure StatsD are deprecated. - The best option is to configure the library using environment variables, like `STATSD_ADDR`, `STATSD_IMPLEMENTATION`, `STATSD_PREFIX`, and `STATSD_DEFAULT_TAGS`. Metric methods called on the StatsD singleton (e.g. `StatsD.increment`) will by default be delegated to a client that is configured using these environment variables. - Alternatively, you can instantiate your own client using `StatsD::Instrument::Client.new`, and assign it to `StatsD.singleton_client`. The client constructor accepts many of the same options. - If you have to, you can call the old methods on `StatsD.legacy_singleton_client`. Note that this option will go away in the next major version. MESSAGE
Constants included from RuboCop::Cop::StatsD
METAPROGRAMMING_METHODS, METRIC_METHODS, SINGLETON_CONFIGURATION_METHODS
Instance Method Summary collapse
Instance Method Details
#on_send(node) ⇒ Object
45 46 47 48 49 |
# File 'lib/statsd/instrument/rubocop/singleton_configuration.rb', line 45 def on_send(node) if singleton_configuration_method?(node) add_offense(node) end end |