cloudinary 1.27.0 → 1.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/lib/cloudinary/api.rb +3 -2
- data/lib/cloudinary/carrier_wave/storage.rb +1 -8
- data/lib/cloudinary/uploader.rb +3 -15
- data/lib/cloudinary/utils.rb +21 -0
- data/lib/cloudinary/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97b754051e806086f5dfb98479292bb84bed48968c242d8c55dfa073a8d90e52
|
4
|
+
data.tar.gz: 6a6484d454b0b074fa177b68e90bb62a100c90aa3f4b3ab33dad9acd64d7ec4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd822c6ec7144df3f7ab863d834802c486bc31ef5051cafbb9d331279a0f3092906990c211ccf1802515d53d51f64e71fd1bd73acc8a2f368c22bddd90ea3a38
|
7
|
+
data.tar.gz: cc2299facddd71188d08c0f934ad8483bc0c9414364699e3f84a20eee489f0883adca4ba838a9534d417e11580ff194761d0d26cc978079c9e3b2f42cceeaa48
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
1.28.0 / 2023-11-06
|
2
|
+
==================
|
3
|
+
|
4
|
+
New functionality and features
|
5
|
+
------------------------------
|
6
|
+
|
7
|
+
* Add support for `image_file` parameter in `visual_search` Admin API
|
8
|
+
* Add support for `on_success` upload parameter
|
9
|
+
|
10
|
+
Other Changes
|
11
|
+
-------------
|
12
|
+
|
13
|
+
* Replace `update_all` to `update_column` in CarrierWave storage
|
14
|
+
|
1
15
|
1.27.0 / 2023-07-31
|
2
16
|
==================
|
3
17
|
|
data/lib/cloudinary/api.rb
CHANGED
@@ -216,8 +216,9 @@ class Cloudinary::Api
|
|
216
216
|
# @raise [Cloudinary::Api::Error]
|
217
217
|
def self.visual_search(options = {})
|
218
218
|
uri = "resources/visual_search"
|
219
|
-
params = only(options, :image_url, :image_asset_id, :text)
|
220
|
-
|
219
|
+
params = only(options, :image_url, :image_asset_id, :text, :image_file)
|
220
|
+
params[:image_file] = Cloudinary::Utils.handle_file_param(params[:image_file]) if params.has_key?(:image_file)
|
221
|
+
call_api(:post, uri, params, options)
|
221
222
|
end
|
222
223
|
|
223
224
|
# Returns the details of the specified asset and all its derived assets.
|
@@ -82,14 +82,7 @@ class Cloudinary::CarrierWave::Storage < ::CarrierWave::Storage::Abstract
|
|
82
82
|
end
|
83
83
|
|
84
84
|
if defined?(ActiveRecord::Base) && uploader.model.is_a?(ActiveRecord::Base)
|
85
|
-
|
86
|
-
if defined?(::ActiveRecord::VERSION::MAJOR) && ::ActiveRecord::VERSION::MAJOR > 2
|
87
|
-
model_class.where(primary_key=>uploader.model.send(primary_key)).update_all(column=>name)
|
88
|
-
else
|
89
|
-
# Removed since active record version 3.0.0
|
90
|
-
model_class.update_all({column=>name}, {primary_key=>uploader.model.send(primary_key)})
|
91
|
-
end
|
92
|
-
uploader.model.send :write_attribute, column, name
|
85
|
+
uploader.model.update_column(column, name)
|
93
86
|
elsif defined?(Mongoid::Document) && uploader.model.is_a?(Mongoid::Document)
|
94
87
|
# Mongoid support
|
95
88
|
if Mongoid::VERSION.split(".").first.to_i >= 4
|
data/lib/cloudinary/uploader.rb
CHANGED
@@ -40,6 +40,7 @@ class Cloudinary::Uploader
|
|
40
40
|
:eager_notification_url => options[:eager_notification_url],
|
41
41
|
:exif => Cloudinary::Utils.as_safe_bool(options[:exif]),
|
42
42
|
:eval => options[:eval],
|
43
|
+
:on_success => options[:on_success],
|
43
44
|
:face_coordinates => Cloudinary::Utils.encode_double_array(options[:face_coordinates]),
|
44
45
|
:faces => Cloudinary::Utils.as_safe_bool(options[:faces]),
|
45
46
|
:folder => options[:folder],
|
@@ -87,16 +88,7 @@ class Cloudinary::Uploader
|
|
87
88
|
def self.upload(file, options={})
|
88
89
|
call_api("upload", options) do
|
89
90
|
params = build_upload_params(options)
|
90
|
-
|
91
|
-
params[:file] = File.open(file, "rb")
|
92
|
-
elsif file.is_a?(StringIO)
|
93
|
-
file.rewind
|
94
|
-
params[:file] = Cloudinary::Blob.new(file.read, options)
|
95
|
-
elsif file.respond_to?(:read) || Cloudinary::Utils.is_remote?(file)
|
96
|
-
params[:file] = file
|
97
|
-
else
|
98
|
-
params[:file] = File.open(file, "rb")
|
99
|
-
end
|
91
|
+
params[:file] = Cloudinary::Utils.handle_file_param(file, options)
|
100
92
|
[params, [:file]]
|
101
93
|
end
|
102
94
|
end
|
@@ -153,11 +145,7 @@ class Cloudinary::Uploader
|
|
153
145
|
options[:resource_type] ||= :raw
|
154
146
|
call_api("upload", options) do
|
155
147
|
params = build_upload_params(options)
|
156
|
-
|
157
|
-
params[:file] = File.open(file, "rb")
|
158
|
-
else
|
159
|
-
params[:file] = file
|
160
|
-
end
|
148
|
+
params[:file] = Cloudinary::Utils.handle_file_param(file, options)
|
161
149
|
[params, [:file]]
|
162
150
|
end
|
163
151
|
end
|
data/lib/cloudinary/utils.rb
CHANGED
@@ -1295,6 +1295,27 @@ class Cloudinary::Utils
|
|
1295
1295
|
}
|
1296
1296
|
end
|
1297
1297
|
|
1298
|
+
# Handles file parameter.
|
1299
|
+
#
|
1300
|
+
# @param [Pathname, StringIO, File, String, int, _ToPath] file
|
1301
|
+
# @return [StringIO, File] A File object.
|
1302
|
+
#
|
1303
|
+
# @private
|
1304
|
+
def self.handle_file_param(file, options = {})
|
1305
|
+
if file.is_a?(Pathname)
|
1306
|
+
return File.open(file, "rb")
|
1307
|
+
elsif file.is_a?(Cloudinary::Blob)
|
1308
|
+
return file
|
1309
|
+
elsif file.is_a?(StringIO)
|
1310
|
+
file.rewind
|
1311
|
+
return Cloudinary::Blob.new(file.read, options)
|
1312
|
+
elsif file.respond_to?(:read) || Cloudinary::Utils.is_remote?(file)
|
1313
|
+
return file
|
1314
|
+
end
|
1315
|
+
|
1316
|
+
File.open(file, "rb")
|
1317
|
+
end
|
1318
|
+
|
1298
1319
|
# The returned url should allow downloading the backedup asset based on the version and asset id
|
1299
1320
|
#
|
1300
1321
|
# asset and version id are returned with resource(<PUBLIC_ID1>, { versions: true })
|
data/lib/cloudinary/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudinary
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nadav Soferman
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-
|
13
|
+
date: 2023-11-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: aws_cf_signer
|