lib/cloudinary/uploader.rb in cloudinary-1.11.1 vs lib/cloudinary/uploader.rb in cloudinary-1.12.0
- old
+ new
@@ -3,12 +3,11 @@
require 'json'
require 'cloudinary/cache'
class Cloudinary::Uploader
- REMOTE_URL_REGEX = %r(^ftp:|^https?:|^s3:|^data:[^;]*;base64,([a-zA-Z0-9\/+\n=]+)$)
-
+ REMOTE_URL_REGEX = Cloudinary::Utils::REMOTE_URL_REGEX
# @deprecated use {Cloudinary::Utils.build_eager} instead
def self.build_eager(eager)
Cloudinary::Utils.build_eager(eager)
end
@@ -26,10 +25,11 @@
:auto_tagging => options[:auto_tagging] && options[:auto_tagging].to_f,
:background_removal => options[:background_removal],
:backup => Cloudinary::Utils.as_safe_bool(options[:backup]),
:callback => options[:callback],
:categorization => options[:categorization],
+ :cinemagraph_analysis => Cloudinary::Utils.as_safe_bool(options[:cinemagraph_analysis]),
:colors => Cloudinary::Utils.as_safe_bool(options[:colors]),
:context => Cloudinary::Utils.encode_context(options[:context]),
:custom_coordinates => Cloudinary::Utils.encode_double_array(options[:custom_coordinates]),
:detection => options[:detection],
:discard_original_filename => Cloudinary::Utils.as_safe_bool(options[:discard_original_filename]),
@@ -75,11 +75,11 @@
def self.upload(file, options={})
call_api("upload", options) do
params = build_upload_params(options)
if file.is_a?(Pathname)
params[:file] = File.open(file, "rb")
- elsif file.respond_to?(:read) || file.match(REMOTE_URL_REGEX)
+ elsif file.respond_to?(:read) || Cloudinary::Utils.is_remote?(file)
params[:file] = file
else
params[:file] = File.open(file, "rb")
end
[params, [:file]]
@@ -93,10 +93,10 @@
public_id = options[:public_id]
else
public_id = public_id_or_options
options = old_options
end
- if file.match(REMOTE_URL_REGEX)
+ if Cloudinary::Utils.is_remote?(file)
return upload(file, options.merge(:public_id => public_id))
elsif file.is_a?(Pathname) || !file.respond_to?(:read)
filename = file
file = File.open(file, "rb")
else