cacheflow 0.3.2 → 0.4.0

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: 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