Module: BetterStorage::VariantMetadata
- Defined in:
- lib/better_storage/variant_metadata.rb
Constant Summary collapse
- KEY =
"bs_variants"
Class Method Summary collapse
- .delete(blob, digest) ⇒ Object
- .fetch(blob, digest) ⇒ Object
- .store(blob, digest, variant_blob_key) ⇒ Object
Class Method Details
.delete(blob, digest) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/better_storage/variant_metadata.rb', line 20 def delete(blob, digest) blob.with_lock do return unless blob..dig(KEY, digest) = blob..deep_dup [KEY].delete(digest) .delete(KEY) if [KEY].empty? blob.update_columns(metadata: ) blob. = end end |
.fetch(blob, digest) ⇒ Object
7 8 9 |
# File 'lib/better_storage/variant_metadata.rb', line 7 def fetch(blob, digest) blob..dig(KEY, digest) end |
.store(blob, digest, variant_blob_key) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/better_storage/variant_metadata.rb', line 11 def store(blob, digest, variant_blob_key) blob.with_lock do return if blob..dig(KEY, digest) == variant_blob_key = blob..deep_merge(KEY => { digest => variant_blob_key }) blob.update_columns(metadata: ) blob. = end end |