lib/cloudinary/uploader.rb in cloudinary-1.0.9 vs lib/cloudinary/uploader.rb in cloudinary-1.0.10
- old
+ new
@@ -2,26 +2,31 @@
require 'rest_client'
require 'json'
class Cloudinary::Uploader
+ def self.build_upload_params(options)
+ params = {:timestamp=>Time.now.to_i,
+ :transformation => Cloudinary::Utils.generate_transformation_string(options),
+ :public_id=> options[:public_id],
+ :callback=> options[:callback],
+ :format=>options[:format],
+ :type=>options[:type],
+ :tags=>options[:tags] && Cloudinary::Utils.build_array(options[:tags]).join(",")}
+ if options[:eager]
+ params[:eager] = options[:eager].map do
+ |transformation, format|
+ transformation = transformation.clone
+ format = transformation.delete(:format) || format
+ [Cloudinary::Utils.generate_transformation_string(transformation), format].compact.join("/")
+ end.join("|")
+ end
+ params
+ end
+
def self.upload(file, options={})
call_api("upload", options) do
- params = {:timestamp=>Time.now.to_i,
- :transformation => Cloudinary::Utils.generate_transformation_string(options),
- :public_id=> options[:public_id],
- :callback=> options[:callback],
- :format=>options[:format],
- :type=>options[:type],
- :tags=>options[:tags] && Cloudinary::Utils.build_array(options[:tags]).join(",")}
- if options[:eager]
- params[:eager] = options[:eager].map do
- |transformation, format|
- transformation = transformation.clone
- format = transformation.delete(:format) || format
- [Cloudinary::Utils.generate_transformation_string(transformation), format].compact.join("/")
- end.join("|")
- end
+ params = build_upload_params(options)
if file.respond_to?(:read) || file =~ /^https?:/
params[:file] = file
else
params[:file] = File.open(file, "rb")
end