foobara-local-files-crud-driver 0.0.4 → 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: 1ba7521daa4248e03bfad80e0de2c66d4799d9ab6feca89fbbcb97f2758f21fe
4
- data.tar.gz: d465e37daa8bec4a1d2a63b402fa415475a806735ff4d112415d4076e18d556e
3
+ metadata.gz: a99fcad243c2ddf376c26cc20ca3189edc8f52e07b8398f0b0f46d8abcc6c356
4
+ data.tar.gz: e77ed2685961edd375e6ebf19a84e76e648d8f3480d7d0b87b8376f994e79dc9
5
5
  SHA512:
6
- metadata.gz: ffe2a5cb900d1f6b0d722986542eda6a96c5a1b33521879868e67c0b68a10a2644da40909d3ca503984d219ce87a434efa528508fa36c68f250405ab95789565
7
- data.tar.gz: c4a6a934004c478856124490816ff3c05c9eb5ef72df2f3327d3d9796cf3ebd37eb555e682b818830502d951fdc8eeb0705b93c7fd72bc2606bf8d2bb9e94e88
6
+ metadata.gz: 1a910cafedacbdd319c1e44c2162cbca5f4e34dbd91a1119bbef4dffff14dfe97b63118f49158c10d64c126d581419ee304522e9329afdeac6aa1dd47a7a5747
7
+ data.tar.gz: 51ef2628e11aa128131a42e0fb906aa40ff92308b0bf23c16ce966bfdf5af5bcfce099336e61cdd64f2b7754ec12514411d0ea01fd7378dcb50859187c7346f9
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [0.0.6] - 2025-03-15
2
+
3
+ - Safety improvement: do not truncate file if we fail to generate record yaml
4
+
5
+ ## [0.0.5] - 2025-01-07
6
+
7
+ - Bump Ruby to 3.4.1
8
+
1
9
  ## [0.0.4] - 2024-12-01
2
10
 
3
11
  - Create local data directory if needed
data/LICENSE.txt CHANGED
@@ -1,8 +1,6 @@
1
- This project is dual licensed under the MPL-2.0 license.
2
-
3
-
4
- MPL-2.0 License: LICENSE-MPL-2.0.txt or https://www.mozilla.org/MPL/2.0/
1
+ This project is licensed under the MPL-2.0 license.
5
2
 
3
+ See LICENSE-MPL-2.0.txt or https://www.mozilla.org/MPL/2.0/
6
4
 
7
5
  This is equivalent to the following SPDX License Expression: MPL-2.0
8
6
 
@@ -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,14 +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.4
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Georgi
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-01 00:00:00.000000000 Z
10
+ date: 2025-03-16 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: foobara
@@ -24,7 +23,6 @@ dependencies:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
25
  version: '0'
27
- description:
28
26
  email:
29
27
  - azimux@gmail.com
30
28
  executables: []
@@ -45,7 +43,6 @@ metadata:
45
43
  source_code_uri: https://github.com/foobara/local-files-crud-driver
46
44
  changelog_uri: https://github.com/foobara/local-files-crud-driver/blob/main/CHANGELOG.md
47
45
  rubygems_mfa_required: 'true'
48
- post_install_message:
49
46
  rdoc_options: []
50
47
  require_paths:
51
48
  - lib
@@ -53,15 +50,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
53
50
  requirements:
54
51
  - - ">="
55
52
  - !ruby/object:Gem::Version
56
- version: 3.2.2
53
+ version: 3.4.0
57
54
  required_rubygems_version: !ruby/object:Gem::Requirement
58
55
  requirements:
59
56
  - - ">="
60
57
  - !ruby/object:Gem::Version
61
58
  version: '0'
62
59
  requirements: []
63
- rubygems_version: 3.5.23
64
- signing_key:
60
+ rubygems_version: 3.6.5
65
61
  specification_version: 4
66
62
  summary: Stores all record data in a yaml file in a local directory
67
63
  test_files: []