statsd-instrument 3.5.10 → 3.5.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58bc5f73b44ea7c3ac8268feaeb9defc2da36b9a7a5565cb11d34324f84f5381
4
- data.tar.gz: 0d781d4945f02d7e1eb1bc89e68d647bac0b7062f7d26371b8aef95821080e06
3
+ metadata.gz: c9124bb941a7f03e9d64ea7969fb4b2f47b44bae2ca4ec56fe3f0653bb3df8a4
4
+ data.tar.gz: a70c8e54c4cbd9e5b24981c613ca674d89deb2ba8b7087447ee0cc56faf4d5d9
5
5
  SHA512:
6
- metadata.gz: 901993924629290a116505b73eea09c84dd422fb1fd96a274733e9b26223b73ec3087599b419e325c1e4728fd45f964bb2a800d881ae207fb90e84c4950e8e02
7
- data.tar.gz: cdd79db9829b2317795330fba20238a122a04cfa15b65b53d2b910a50bb315d961bbcf1714a479c61adbf4a4a378272e71dd9132afe9607eaa96611b20ce332a
6
+ metadata.gz: 20a8b1a8308e5dd2862b367e0e3321b9255039c1887d9830a608812eadc2f29e4b6f916b3245293b7d200ac148f89179712492a024fb2bedd3e36887eb20c0bb
7
+ data.tar.gz: 797ca0e4d0f22ed3cbe87acae0fba3a434c36b8b5059bfb7808c93498c0e028ee9b64af1f4b3e06e796e36ba8053109c66ed4c619de7fb672107818bda7024b5
data/CHANGELOG.md CHANGED
@@ -6,6 +6,10 @@ section below.
6
6
 
7
7
  ## Unreleased changes
8
8
 
9
+ ## Version 3.5.11
10
+
11
+ - Fix a bug where passing `nil` to `clone_with_options` did not overwrite existing values
12
+
9
13
  ## Version 3.5.10
10
14
 
11
15
  - Fix rubocop 1.30 compatibilitty
@@ -378,6 +378,8 @@ module StatsD
378
378
  ))
379
379
  end
380
380
 
381
+ NO_CHANGE = Object.new
382
+
381
383
  # Instantiates a new StatsD client that uses the settings of the current client,
382
384
  # except for the provided overrides.
383
385
  #
@@ -386,11 +388,11 @@ module StatsD
386
388
  # will be disposed after the block returns
387
389
  # @return The return value of the block will be passed on as return value.
388
390
  def with_options(
389
- sink: nil,
390
- prefix: nil,
391
- default_sample_rate: nil,
392
- default_tags: nil,
393
- datagram_builder_class: nil
391
+ sink: NO_CHANGE,
392
+ prefix: NO_CHANGE,
393
+ default_sample_rate: NO_CHANGE,
394
+ default_tags: NO_CHANGE,
395
+ datagram_builder_class: NO_CHANGE
394
396
  )
395
397
  client = clone_with_options(
396
398
  sink: sink,
@@ -404,18 +406,19 @@ module StatsD
404
406
  end
405
407
 
406
408
  def clone_with_options(
407
- sink: nil,
408
- prefix: nil,
409
- default_sample_rate: nil,
410
- default_tags: nil,
411
- datagram_builder_class: nil
409
+ sink: NO_CHANGE,
410
+ prefix: NO_CHANGE,
411
+ default_sample_rate: NO_CHANGE,
412
+ default_tags: NO_CHANGE,
413
+ datagram_builder_class: NO_CHANGE
412
414
  )
413
415
  self.class.new(
414
- sink: sink || @sink,
415
- prefix: prefix || @prefix,
416
- default_sample_rate: default_sample_rate || @default_sample_rate,
417
- default_tags: default_tags || @default_tags,
418
- datagram_builder_class: datagram_builder_class || @datagram_builder_class,
416
+ sink: sink == NO_CHANGE ? @sink : sink,
417
+ prefix: prefix == NO_CHANGE ? @prefix : prefix,
418
+ default_sample_rate: default_sample_rate == NO_CHANGE ? @default_sample_rate : default_sample_rate,
419
+ default_tags: default_tags == NO_CHANGE ? @default_tags : default_tags,
420
+ datagram_builder_class:
421
+ datagram_builder_class == NO_CHANGE ? @datagram_builder_class : datagram_builder_class,
419
422
  )
420
423
  end
421
424
 
@@ -51,7 +51,7 @@ module RuboCop
51
51
  end
52
52
 
53
53
  def keyword_arguments(node)
54
- return nil if node.arguments.empty?
54
+ return if node.arguments.empty?
55
55
 
56
56
  last_argument = if node.arguments.last&.type == :block_pass
57
57
  node.arguments[node.arguments.length - 2]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module StatsD
4
4
  module Instrument
5
- VERSION = "3.5.10"
5
+ VERSION = "3.5.11"
6
6
  end
7
7
  end
data/test/client_test.rb CHANGED
@@ -223,4 +223,18 @@ class ClientTest < Minitest::Test
223
223
  original_client.increment("metric")
224
224
  client_with_other_options.increment("metric")
225
225
  end
226
+
227
+ def test_clone_can_remove_prefix
228
+ # Both clients will use the same sink.
229
+ mock_sink = mock("sink")
230
+ mock_sink.stubs(:sample?).returns(true)
231
+ mock_sink.expects(:<<).with("foo.metric:1|c").returns(mock_sink)
232
+ mock_sink.expects(:<<).with("metric:1|c").returns(mock_sink)
233
+
234
+ original_client = StatsD::Instrument::Client.new(sink: mock_sink, prefix: "foo")
235
+ client_with_other_options = original_client.clone_with_options(prefix: nil)
236
+
237
+ original_client.increment("metric")
238
+ client_with_other_options.increment("metric")
239
+ end
226
240
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statsd-instrument
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.10
4
+ version: 3.5.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesse Storimer
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-06-05 00:00:00.000000000 Z
13
+ date: 2023-08-02 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: A StatsD client for Ruby apps. Provides metaprogramming methods to inject
16
16
  StatsD instrumentation into your code.
@@ -122,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  requirements: []
125
- rubygems_version: 3.4.13
125
+ rubygems_version: 3.4.17
126
126
  signing_key:
127
127
  specification_version: 4
128
128
  summary: A StatsD client for Ruby apps