padrino-cache 0.16.1 → 0.17.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: 4de7f247e914cd078c49862002f8ef8148a0fc0b181c19e423f2eba3b69823b8
4
- data.tar.gz: 07e51c4ef2e8f367045aaa0a42399e8601a71cb0d0e5b24af0e86ed5f59782cf
3
+ metadata.gz: debf35ad318b1406cca39e13b78606d3a6c907871c86f80f3597dd8f3e102f7b
4
+ data.tar.gz: 6d0348ce0bb9c75715968b52c45cbf0f3ddfba3ccfd6c46bfc5788efe8bcb47a
5
5
  SHA512:
6
- metadata.gz: 1b2facd8f8494a3b419e5e018a52b698f1c6aec5f371b295700553365786e98321d47189c6cbde8ac2d6cde4cd51426f3023c1569f71ecdef55e37ee460a864b
7
- data.tar.gz: 33236b44a6d640beaffdbe0589f75c46da33a5797531fe2a80d72d99476a84bf6c43d11c4ba14bfab3e52dc5ff5c42986806de6b1a37643dab322ac5c1d8bcf5
6
+ metadata.gz: '08d3aff0107b8308cbef75f856c186210843d0338b0948376c859817b20961ec37dc86bba22f05a99012cb8d4f4fd8d907e8d34d6cfddd822c5d1a55e597e844'
7
+ data.tar.gz: 69227bd4456285c96c3074c0b55dd839a7ce4f22eeef12b5c8514606db18bc5a70710f41de316a419ec7ac786d8d80bca90f5c45eb10bd372430e15df4373c2f
@@ -7,11 +7,11 @@ module Padrino
7
7
  began_at = Time.now
8
8
  if settings.cache.key?(key.to_s)
9
9
  value = settings.cache[key.to_s]
10
- logger.debug 'GET Object', began_at, key.to_s if defined?(logger)
10
+ logger.bench 'GET Object', began_at, key.to_s if defined?(logger) && logger.respond_to?(:bench) && logger.debug?
11
11
  else
12
12
  value = yield
13
13
  settings.cache.store(key.to_s, value, opts)
14
- logger.debug 'SET Object', began_at, key.to_s if defined?(logger)
14
+ logger.bench 'SET Object', began_at, key.to_s if defined?(logger) && logger.respond_to?(:bench) && logger.debug?
15
15
  end
16
16
  value
17
17
  else
@@ -53,12 +53,12 @@ module Padrino
53
53
  began_at = Time.now
54
54
  if settings.cache.key?(key.to_s)
55
55
  value = settings.cache[key.to_s]
56
- logger.debug 'GET Fragment', began_at, key.to_s if defined?(logger)
56
+ logger.bench 'GET Fragment', began_at, key.to_s if defined?(logger) && logger.respond_to?(:bench) && logger.debug?
57
57
  concat_content(value.to_s.html_safe)
58
58
  else
59
59
  value = capture_html(&block)
60
60
  settings.cache.store(key.to_s, value, opts)
61
- logger.debug 'SET Fragment', began_at, key.to_s if defined?(logger)
61
+ logger.bench 'SET Fragment', began_at, key.to_s if defined?(logger) && logger.respond_to?(:bench) && logger.debug?
62
62
  concat_content(value)
63
63
  end
64
64
  else
@@ -117,7 +117,7 @@ module Padrino
117
117
  route_cache_key = resolve_cache_key || env['PATH_INFO']
118
118
 
119
119
  value = settings.cache[route_cache_key]
120
- logger.debug 'GET Cache', began_at, route_cache_key if defined?(logger) && value
120
+ logger.bench 'GET Cache', began_at, route_cache_key if defined?(logger) && logger.respond_to?(:bench) && logger.debug? && value
121
121
 
122
122
  value
123
123
  end
@@ -135,7 +135,7 @@ module Padrino
135
135
 
136
136
  settings.cache.store(route_cache_key, content, expires: cache_expires)
137
137
 
138
- logger.debug 'SET Cache', began_at, route_cache_key if defined?(logger)
138
+ logger.bench 'SET Cache', began_at, route_cache_key if defined?(logger) && logger.respond_to?(:bench) && logger.debug?
139
139
  end
140
140
 
141
141
  ##
data/test/helper.rb CHANGED
@@ -2,6 +2,11 @@ ENV['RACK_ENV'] = 'test'
2
2
  PADRINO_ROOT = __dir__ unless defined?(PADRINO_ROOT)
3
3
 
4
4
  require 'minitest/autorun'
5
+ begin
6
+ require 'minitest/mock'
7
+ rescue LoadError
8
+ # minitest/mock is built-in for older minitest versions
9
+ end
5
10
  require 'minitest/pride'
6
11
  require 'rack/test'
7
12
  require 'padrino-cache'
@@ -22,6 +22,51 @@ describe 'PadrinoCache' do
22
22
  refute_equal called, false
23
23
  end
24
24
 
25
+ it 'should cache with a logger without Padrino::Logger::Extensions' do
26
+ log = StringIO.new
27
+ save_logger = Padrino.logger
28
+ Padrino.logger = Logger.new(log)
29
+ mock_app do
30
+ register Padrino::Cache
31
+ enable :caching
32
+ get('/foo') { cache(:test) { 'test fragment' } }
33
+ get('/bar', cache: true) { cache_object(:object) { 'test object' } }
34
+ end
35
+ 2.times do
36
+ get '/foo'
37
+ assert_equal 200, status
38
+ assert_equal 'test fragment', body
39
+ get '/bar'
40
+ assert_equal 200, status
41
+ assert_equal 'test object', body
42
+ end
43
+ ['SET FRAGMENT', 'GET FRAGMENT', 'SET OBJECT', 'SET CACHE', 'GET CACHE'].each do |action|
44
+ assert_match(/#{action} \(\d+\.\d+s\)/, log.string)
45
+ end
46
+ ensure
47
+ Padrino.logger = save_logger
48
+ end
49
+
50
+ it 'should cache with a logger that lacks bench' do
51
+ log = StringIO.new
52
+ mock_app do
53
+ register Padrino::Cache
54
+ enable :caching
55
+ helpers { define_method(:logger) { @logger ||= Logger.new(log).freeze } }
56
+ get('/foo') { cache(:test) { 'test fragment' } }
57
+ get('/bar', cache: true) { cache_object(:object) { 'test object' } }
58
+ get('/baz') { cache_object(:uncached_page) { 'object only' } }
59
+ end
60
+ 2.times do
61
+ get '/foo'
62
+ assert_equal 'test fragment', body
63
+ get '/bar'
64
+ assert_equal 'test object', body
65
+ get '/baz'
66
+ assert_equal 'object only', body
67
+ end
68
+ end
69
+
25
70
  it 'should cache a page' do
26
71
  called = false
27
72
  mock_app do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino-cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Padrino Team
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2026-03-27 00:00:00.000000000 Z
14
+ date: 2026-10-14 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: padrino-core
@@ -19,28 +19,28 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.16.1
22
+ version: 0.17.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.16.1
29
+ version: 0.17.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: padrino-helpers
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - '='
35
35
  - !ruby/object:Gem::Version
36
- version: 0.16.1
36
+ version: 0.17.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - '='
42
42
  - !ruby/object:Gem::Version
43
- version: 0.16.1
43
+ version: 0.17.0
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: moneta
46
46
  requirement: !ruby/object:Gem::Requirement