cacheflow 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8932252701f8ea45a6145a7acd8b35363e39ae5bfcbe83f47b9f3bf0cd6ecb37
4
- data.tar.gz: adc5342f322a1b3ce32438b1f538fd1b1ef15661c26da0f823d634fc1b0f1146
3
+ metadata.gz: 175592979961554546a3074ac8f8a411f26e81e695a24418a764e5806736f180
4
+ data.tar.gz: f0c60bd1b5b507872116a7867cf2efa38989ca74c1cc23df5db30e0e7b5f0bbd
5
5
  SHA512:
6
- metadata.gz: c017572ae0499654f13d9fd319dfa01044c5a0714cdbcaad9202838bb21ce0bdf4da2d4771c32e432e2eaa6406e2549fe751742cdc34a71888982e9b2cd75dc1
7
- data.tar.gz: 6dc952a1c204bda8c112872d29546b93a464622bb49faceadce4b840377847288d9023ced4edcb2ef71c09d51e75d015e25408899fc1c79c193ea50b629761f5
6
+ metadata.gz: c2f9c3d04f22043652211e50537fe2586d0c61a548f28e6be398067185bc7b07e4dfbad88f134d7b795e95bc4a2ade4727e4143be2740f11895baf0fe41d6c5d
7
+ data.tar.gz: dd4e4f821650260facf20402756af047027689cbea55e9f2014c697a56f76abfc1d1a8cd1841d0ff7388a34ace681d1e1b7a815bfb00ec33ac105afa2042be14
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.4.0 (2024-10-22)
2
+
3
+ - Improved binary data detection
4
+ - Dropped support for Ruby < 3.1 and Active Support < 7
5
+
6
+ ## 0.3.3 (2024-02-27)
7
+
8
+ - Fixed error with binary data
9
+
1
10
  ## 0.3.2 (2023-12-07)
2
11
 
3
12
  - Fixed deprecation warning with Active Support 7.1
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2017-2023 Andrew Kane
1
+ Copyright (c) 2017-2024 Andrew Kane
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -4,7 +4,7 @@ Colorized logging for Memcached and Redis
4
4
 
5
5
  Works with the Rails cache, as well as [Dalli](https://github.com/petergoldstein/dalli) and [Redis](https://github.com/redis/redis-rb) clients directly
6
6
 
7
- [![Build Status](https://github.com/ankane/cacheflow/workflows/build/badge.svg?branch=master)](https://github.com/ankane/cacheflow/actions)
7
+ [![Build Status](https://github.com/ankane/cacheflow/actions/workflows/build.yml/badge.svg)](https://github.com/ankane/cacheflow/actions)
8
8
 
9
9
  ## Installation
10
10
 
@@ -17,7 +17,7 @@ module Cacheflow
17
17
  return if !logger.debug? || Cacheflow.silenced?
18
18
 
19
19
  name = "%s (%.2fms)" % ["Memcached", event.duration]
20
- debug " #{color(name, BLUE, bold: true)} #{event.payload[:op].to_s.upcase} #{event.payload[:args].join(" ")}"
20
+ debug " #{color(name, BLUE, bold: true)} #{event.payload[:op].to_s.upcase} #{Cacheflow.args(event.payload[:args])}"
21
21
  end
22
22
  end
23
23
  end
@@ -41,7 +41,7 @@ module Cacheflow
41
41
 
42
42
  commands = []
43
43
  event.payload[:commands].map do |op, *args|
44
- commands << "#{op.to_s.upcase} #{args.join(" ")}".strip
44
+ commands << "#{op.to_s.upcase} #{Cacheflow.args(args)}".strip
45
45
  end
46
46
 
47
47
  debug " #{color(name, RED, bold: true)} #{commands.join(" >> ")}"
@@ -1,3 +1,3 @@
1
1
  module Cacheflow
2
- VERSION = "0.3.2"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/cacheflow.rb CHANGED
@@ -27,6 +27,18 @@ module Cacheflow
27
27
  def self.silence_sidekiq!
28
28
  require_relative "cacheflow/sidekiq"
29
29
  end
30
+
31
+ # private
32
+ def self.args(args)
33
+ args.map { |v| binary?(v) ? "<binary-data>" : v }.join(" ")
34
+ end
35
+
36
+ # private
37
+ def self.binary?(v)
38
+ v = v.to_s
39
+ # string encoding creates false positives, so try to determine based on value
40
+ v.include?("\x00") || !v.dup.force_encoding(Encoding::UTF_8).valid_encoding?
41
+ end
30
42
  end
31
43
 
32
44
  if defined?(Rails)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cacheflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-07 00:00:00.000000000 Z
11
+ date: 2024-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '6'
19
+ version: '7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '6'
26
+ version: '7'
27
27
  description:
28
28
  email: andrew@ankane.org
29
29
  executables: []
@@ -51,14 +51,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '2.7'
54
+ version: '3.1'
55
55
  required_rubygems_version: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  requirements: []
61
- rubygems_version: 3.4.10
61
+ rubygems_version: 3.5.16
62
62
  signing_key:
63
63
  specification_version: 4
64
64
  summary: Colorized logging for Memcached and Redis