lib/cloudinary/carrier_wave/storage.rb in cloudinary-1.24.0 vs lib/cloudinary/carrier_wave/storage.rb in cloudinary-1.25.0
- old
+ new
@@ -69,9 +69,19 @@
type ||= uploader.storage_type || "upload"
name = "#{resource_type}/#{type}/#{name}"
end
model_class = uploader.model.class
column = uploader.model.send(:_mounter, uploader.mounted_as).send(:serialization_column)
+ original_value = uploader.model.read_attribute(column)
+ return if original_value == name
+
+ if original_value.is_a?(Array)
+ if index = original_value.index(identifier)
+ original_value[index] = name
+ end
+ name = original_value
+ end
+
if defined?(ActiveRecord::Base) && uploader.model.is_a?(ActiveRecord::Base)
primary_key = model_class.primary_key.to_sym
if defined?(::ActiveRecord::VERSION::MAJOR) && ::ActiveRecord::VERSION::MAJOR > 2
model_class.where(primary_key=>uploader.model.send(primary_key)).update_all(column=>name)
else