pbbuilder 0.13.1 → 0.13.3
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/pbbuilder/template.rb +14 -3
- data/pbbuilder.gemspec +1 -1
- data/test/pbbuilder_template_test.rb +6 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10736ed13e1665f1bf45095973eb464ab2bcef87f3d69fe4bb8f89e3f35e0474
|
4
|
+
data.tar.gz: a2a8522c756cdf99638d7aef7f3ad7ed9d009ab24b46e499f2f7e0d4a3427b5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 366ce4bf8ef0195f67f9961cd15b5ebc8311b3c15c192d54a5a064a33a34e9e7696a2114afab7f4734bb1e89d61769ae823a91567562741bfc4bb0e9a41a4d3d
|
7
|
+
data.tar.gz: 88d5bc81285ac6e48531328b03a2194b5939dd40ca8bfe003502486f7009c22bb55f1a18c2767f28153942801c7f913526d5a5c18294373a00fcffbfd6daeef4
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
|
|
3
3
|
|
4
4
|
This format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
5
5
|
|
6
|
+
## 0.13.2 2023.02.3
|
7
|
+
### Fixed
|
8
|
+
- In case ActiveSupport::Cache::FileStore in Rails is used as a cache, File.atomic_write can have a race condition and fail to rename temporary file. We're attempting to recover from that, by catching this specific error and returning a value.
|
9
|
+
|
6
10
|
## 0.13.1 2023.01.24
|
7
11
|
### Added
|
8
12
|
- #merge! to support boolean values
|
data/lib/pbbuilder/template.rb
CHANGED
@@ -108,11 +108,22 @@ class PbbuilderTemplate < Pbbuilder
|
|
108
108
|
# @param key string
|
109
109
|
# @params options hash
|
110
110
|
#
|
111
|
-
# @return string
|
111
|
+
# @return string contents of a cache
|
112
112
|
def _write_fragment_cache(key, options = nil)
|
113
|
-
@context.controller.instrument_fragment_cache :
|
113
|
+
@context.controller.instrument_fragment_cache :write_fragment, key do
|
114
114
|
yield.tap do |value|
|
115
|
-
|
115
|
+
begin
|
116
|
+
::Rails.cache.write(key, value, options)
|
117
|
+
rescue ::SystemCallError
|
118
|
+
# In case ActiveSupport::Cache::FileStore in Rails is used as a cache,
|
119
|
+
# File.atomic_write can have a race condition and fail to rename temporary
|
120
|
+
# file. We're attempting to recover from that, by catching this specific
|
121
|
+
# error and returning a value.
|
122
|
+
#
|
123
|
+
# @see https://github.com/rails/rails/pull/44151
|
124
|
+
# @see https://github.com/rails/rails/blob/main/activesupport/lib/active_support/core_ext/file/atomic.rb#L50
|
125
|
+
value
|
126
|
+
end
|
116
127
|
end
|
117
128
|
end
|
118
129
|
end
|
data/pbbuilder.gemspec
CHANGED
@@ -120,10 +120,10 @@ class PbbuilderTemplateTest < ActiveSupport::TestCase
|
|
120
120
|
result = nil
|
121
121
|
|
122
122
|
assert_nothing_raised do
|
123
|
-
result = render(<<-
|
123
|
+
result = render(<<-PBBUILDER)
|
124
124
|
pb.name "suslik"
|
125
125
|
pb.cache! "nothing" do; end
|
126
|
-
|
126
|
+
PBBUILDER
|
127
127
|
end
|
128
128
|
|
129
129
|
assert_equal "suslik", result["name"]
|
@@ -197,7 +197,7 @@ class PbbuilderTemplateTest < ActiveSupport::TestCase
|
|
197
197
|
end
|
198
198
|
|
199
199
|
test "conditional object fragment caching" do
|
200
|
-
render(<<-
|
200
|
+
render(<<-PBBUILDER)
|
201
201
|
pb.cache_if! true, "cache-key" do
|
202
202
|
pb.name "Hit"
|
203
203
|
end
|
@@ -205,9 +205,9 @@ class PbbuilderTemplateTest < ActiveSupport::TestCase
|
|
205
205
|
pb.cache_if! false, "cache-key" do
|
206
206
|
pb.last_name "Hit"
|
207
207
|
end
|
208
|
-
|
208
|
+
PBBUILDER
|
209
209
|
|
210
|
-
result = render(<<-
|
210
|
+
result = render(<<-PBBUILDER)
|
211
211
|
pb.cache_if! true, "cache-key" do
|
212
212
|
pb.name "Miss"
|
213
213
|
end
|
@@ -215,7 +215,7 @@ class PbbuilderTemplateTest < ActiveSupport::TestCase
|
|
215
215
|
pb.cache_if! false, "cache-key" do
|
216
216
|
pb.last_name "Miss"
|
217
217
|
end
|
218
|
-
|
218
|
+
PBBUILDER
|
219
219
|
|
220
220
|
assert_equal "Hit", result["name"]
|
221
221
|
assert_equal "Miss", result["last_name"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pbbuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bouke van der Bijl
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|