alchemy-dragonfly-s3 5.2.0 → 5.2.1

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: af1ac6f6e94915b4f4109740dc57784db1d23ea7e143e3f0baeed2d3cbc98444
4
- data.tar.gz: 11a260d68a5557e38e58ee134eb757c7ceb7e394acf6236de15c14815fb8d3a6
3
+ metadata.gz: f2741b9d0809ea0db39de700b0ca1b1181deec6d59606737c7620ec96faadf66
4
+ data.tar.gz: c8ce3d82fb9a790f2719ebeb39e69547602e68336e6ec345306b0c570c682aa5
5
5
  SHA512:
6
- metadata.gz: 991203f9ad893a0f9d67357b48cc5dbccc612e0aa2d0d1e2332bead56972b54d5e2d4058463a5eb895e5a8f6be2e02afea376e4feeb327dab9e01e268ae48a05
7
- data.tar.gz: 41ebab2ea26481a01e1866da5ab9de1538da882c42472df0477c2251bc61338bca5b4803116b5b2de4ee357b4c47f90c9298f4771b4bc1997b246d4678f2e083
6
+ metadata.gz: dffd05e4c6da9a3ceb21895c71c042e07ded2a7a8bd6556bfefeffa40af34a9ece18017050755f435ce34d1ae354dbcfe6d77dc5153b0a5e91d381d886d49821
7
+ data.tar.gz: 80e574fdc5b74a76d1278bf9b809ceb56b19778e76acf485afc76a914c7e3559ab7ab81c447b0c0c6f985bc7fdfdc894fc612816df7932168a32d3a1e87e4dab
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## v5.2.1
2
+
3
+ - Fix race condition in CreatePictureThumb
4
+
1
5
  ## v5.2.0
2
6
 
3
7
  - Fix loading of Alchemy factories
@@ -5,22 +5,23 @@ module Alchemy
5
5
  module S3
6
6
  class CreatePictureThumb
7
7
  def self.call(variant, signature, uid)
8
+ return if !variant.picture.valid?
9
+
8
10
  # create the thumb before uploading
9
11
  # to prevent db race conditions
10
- thumb = variant.picture.thumbs.create!(
11
- picture: variant.picture,
12
- signature: signature,
13
- uid: uid,
14
- )
12
+ @thumb = Alchemy::PictureThumb.create_or_find_by!(signature: signature) do |thumb|
13
+ thumb.picture = variant.picture
14
+ thumb.uid = uid
15
+ end
15
16
  begin
16
17
  # fetch and process the image
17
18
  image = variant.image
18
19
  # upload the processed image
19
20
  image.store(path: uid)
20
21
  rescue RuntimeError, Excon::Error => e
21
- Rails.logger.warn(e)
22
+ ErrorTracking.notification_handler.call(e)
22
23
  # destroy the thumb if processing or upload fails
23
- thumb.destroy
24
+ @thumb&.destroy
24
25
  end
25
26
  end
26
27
  end
@@ -3,7 +3,7 @@
3
3
  module Alchemy
4
4
  module Dragonfly
5
5
  module S3
6
- VERSION = "5.2.0"
6
+ VERSION = "5.2.1"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy-dragonfly-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-18 00:00:00.000000000 Z
11
+ date: 2023-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: alchemy_cms
@@ -122,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  requirements: []
125
- rubygems_version: 3.1.6
125
+ rubygems_version: 3.3.26
126
126
  signing_key:
127
127
  specification_version: 4
128
128
  summary: AlchemyCMS Dragonfly S3.