alchemy-dragonfly-s3 5.2.0 → 5.2.1

Sign up to get free protection for your applications and to get access to all the features.
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.