foobara-local-files-crud-driver 0.0.5 → 0.0.6

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: d5d017c3e3397e750f178f0947f23b1cc24f977d9b87166f31d5923207dd3646
4
- data.tar.gz: 89f1e0082c3c9da06deb033d958e78adcbc38c186bc1649bf400eb16f6957211
3
+ metadata.gz: a99fcad243c2ddf376c26cc20ca3189edc8f52e07b8398f0b0f46d8abcc6c356
4
+ data.tar.gz: e77ed2685961edd375e6ebf19a84e76e648d8f3480d7d0b87b8376f994e79dc9
5
5
  SHA512:
6
- metadata.gz: eb3a5cd889f8b21a3d2c9a7bb6e602086463c1892af719e3448f944d44b2d32f945d310c570b231baf23ee38f3e1b6ee5d6af02c6829375404782fd71a54fc57
7
- data.tar.gz: 69752db6f99f6cbcacc191373b69f74defb3685dc7f778dafc1f260114ffe6492b4bf4652242eba950e06e2698d09f8766f9084346c72e883f8e4ca0f32b7879
6
+ metadata.gz: 1a910cafedacbdd319c1e44c2162cbca5f4e34dbd91a1119bbef4dffff14dfe97b63118f49158c10d64c126d581419ee304522e9329afdeac6aa1dd47a7a5747
7
+ data.tar.gz: 51ef2628e11aa128131a42e0fb906aa40ff92308b0bf23c16ce966bfdf5af5bcfce099336e61cdd64f2b7754ec12514411d0ea01fd7378dcb50859187c7346f9
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.0.6] - 2025-03-15
2
+
3
+ - Safety improvement: do not truncate file if we fail to generate record yaml
4
+
1
5
  ## [0.0.5] - 2025-01-07
2
6
 
3
7
  - Bump Ruby to 3.4.1
@@ -173,16 +173,21 @@ module Foobara
173
173
  with_readable_raw_data(mode: "r+", lock: File::LOCK_EX) do |raw_data, f|
174
174
  if f
175
175
  retval = yield raw_data, f
176
+ file_contents = YAML.dump(raw_data)
176
177
  f.truncate(0)
177
178
  f.rewind
178
- f.write(YAML.dump(raw_data))
179
+ f.write(file_contents)
179
180
  else
180
181
  FileUtils.mkdir_p File.dirname(data_path)
181
182
 
182
- File.open(data_path, "w") do |f|
183
+ File.open(data_path, "a+") do |f|
183
184
  f.flock(File::LOCK_EX)
185
+ f.rewind
184
186
  retval = yield raw_data, f
185
- f.write(YAML.dump(raw_data))
187
+ file_contents = YAML.dump(raw_data)
188
+ f.truncate(0)
189
+ f.rewind
190
+ f.write(file_contents)
186
191
  end
187
192
  end
188
193
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foobara-local-files-crud-driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Georgi
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-07 00:00:00.000000000 Z
10
+ date: 2025-03-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: foobara
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
59
  requirements: []
60
- rubygems_version: 3.6.2
60
+ rubygems_version: 3.6.5
61
61
  specification_version: 4
62
62
  summary: Stores all record data in a yaml file in a local directory
63
63
  test_files: []