diff --git a/lib/statsd/instrument/datagram.rb b/lib/statsd/instrument/datagram.rb index b6151a71..61d66dc5 100644 --- a/lib/statsd/instrument/datagram.rb +++ b/lib/statsd/instrument/datagram.rb @@ -77,7 +77,7 @@ def eql?(other) (?:\|\#(?(?:[^\|,]+(?:,[^\|,]+)*)))? \n? # In some implementations, the datagram may include a trailing newline. \z - }x + }x.freeze def parsed_datagram @parsed ||= if (match_info = PARSER.match(@source)) diff --git a/lib/statsd/instrument/dogstatsd_datagram.rb b/lib/statsd/instrument/dogstatsd_datagram.rb index e1b00056..abb4d3f6 100644 --- a/lib/statsd/instrument/dogstatsd_datagram.rb +++ b/lib/statsd/instrument/dogstatsd_datagram.rb @@ -69,7 +69,7 @@ def parsed_datagram (?:\|m:(?[^\|]+))? \n? # In some implementations, the datagram may include a trailing newline. \z - }x + }x.freeze # |k:my-key|p:low|s:source|t:success| EVENT_PARSER = %r{ @@ -84,7 +84,7 @@ def parsed_datagram (?:\|\#(?(?:[^\|,]+(?:,[^\|,]+)*)))? \n? # In some implementations, the datagram may include a trailing newline. \z - }x + }x.freeze PARSER = Regexp.union(StatsD::Instrument::Datagram::PARSER, SERVICE_CHECK_PARSER, EVENT_PARSER) end diff --git a/lib/statsd/instrument/rubocop.rb b/lib/statsd/instrument/rubocop.rb index 66ca862d..90f796e7 100644 --- a/lib/statsd/instrument/rubocop.rb +++ b/lib/statsd/instrument/rubocop.rb @@ -3,7 +3,7 @@ module RuboCop module Cop module StatsD - METRIC_METHODS = [:increment, :gauge, :measure, :set, :histogram, :distribution, :key_value] + METRIC_METHODS = [:increment, :gauge, :measure, :set, :histogram, :distribution, :key_value].freeze METAPROGRAMMING_METHODS = [ :statsd_measure, @@ -11,7 +11,7 @@ module StatsD :statsd_count_success, :statsd_count_if, :statsd_count, - ] + ].freeze SINGLETON_CONFIGURATION_METHODS = [ :backend, @@ -22,7 +22,7 @@ module StatsD :"default_tags=", :default_sample_rate, :"default_sample_rate=", - ] + ].freeze private diff --git a/lib/statsd/instrument/rubocop/metric_return_value.rb b/lib/statsd/instrument/rubocop/metric_return_value.rb index f1f962c6..6627675c 100644 --- a/lib/statsd/instrument/rubocop/metric_return_value.rb +++ b/lib/statsd/instrument/rubocop/metric_return_value.rb @@ -19,7 +19,7 @@ class MetricReturnValue < Base MSG = "Do not use the return value of StatsD metric methods" - INVALID_PARENTS = [:lvasgn, :array, :pair, :send, :return, :yield] + INVALID_PARENTS = [:lvasgn, :array, :pair, :send, :return, :yield].freeze def on_send(node) if metric_method?(node) && node.arguments.last&.type != :block_pass diff --git a/test/rubocop/singleton_configuration_test.rb b/test/rubocop/singleton_configuration_test.rb index 54a92d25..2a640d43 100644 --- a/test/rubocop/singleton_configuration_test.rb +++ b/test/rubocop/singleton_configuration_test.rb @@ -18,7 +18,10 @@ def test_offense_statsd_backend def test_offense_statsd_prefix assert_offense('StatsD.prefix = "foo"') + # The interpolation is intentionally literal source passed to the cop under test. + # rubocop:disable Lint/InterpolationCheck assert_offense('"#{StatsD.prefix}.foo"') + # rubocop:enable Lint/InterpolationCheck end def test_offense_statsd_default_tags