From 8dcd6ecf1005b3762fbacb7397404078cab895da Mon Sep 17 00:00:00 2001 From: Reinier de Lange Date: Wed, 29 Apr 2020 09:13:52 +0200 Subject: [PATCH] Add AS full copy example for rails 6 [ci skip] Resolves #118 --- readme.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/readme.md b/readme.md index cf0557f..4ba7c4c 100644 --- a/readme.md +++ b/readme.md @@ -157,6 +157,7 @@ For ActiveStorage, you have two options: you can either make a full copy, or sha ##### Full copy example ```ruby +# Rails 5 pirate.deep_clone include: :parrot do |original, kopy| if kopy.is_a?(Pirate) && original.avatar.attached? ActiveStorage::Downloader.new(original.avatar).download_blob_to_tempfile do |tempfile| @@ -168,6 +169,19 @@ pirate.deep_clone include: :parrot do |original, kopy| end end end + +# Rails 6 +pirate.deep_clone include: :parrot do |original, kopy| + if kopy.is_a?(Pirate) && original.avatar.attached? + original.avatar.open do |tempfile| + kopy.avatar.attach({ + io: File.open(tempfile.path), + filename: original.avatar.blob.filename, + content_type: original.avatar.blob.content_type + }) + end + end +end ``` ##### Shallow copy example