cloudinary 1.0.30 → 1.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/cloudinary/uploader.rb +23 -8
- data/lib/cloudinary/utils.rb +4 -2
- data/lib/cloudinary/version.rb +1 -1
- data/spec/utils_spec.rb +14 -0
- metadata +2 -2
data/lib/cloudinary/uploader.rb
CHANGED
@@ -4,6 +4,16 @@ require 'json'
|
|
4
4
|
|
5
5
|
class Cloudinary::Uploader
|
6
6
|
|
7
|
+
def self.build_eager(eager)
|
8
|
+
return nil if eager.nil?
|
9
|
+
Cloudinary::Utils.build_array(eager).map do
|
10
|
+
|transformation, format|
|
11
|
+
transformation = transformation.clone
|
12
|
+
format = transformation.delete(:format) || format
|
13
|
+
[Cloudinary::Utils.generate_transformation_string(transformation), format].compact.join("/")
|
14
|
+
end.join("|")
|
15
|
+
end
|
16
|
+
|
7
17
|
def self.build_upload_params(options)
|
8
18
|
params = {:timestamp=>Time.now.to_i,
|
9
19
|
:transformation => Cloudinary::Utils.generate_transformation_string(options),
|
@@ -13,15 +23,8 @@ class Cloudinary::Uploader
|
|
13
23
|
:type=>options[:type],
|
14
24
|
:backup=>options[:backup],
|
15
25
|
:invalidate=>options[:invalidate],
|
26
|
+
:eager=>build_eager(options[:eager]),
|
16
27
|
:tags=>options[:tags] && Cloudinary::Utils.build_array(options[:tags]).join(",")}
|
17
|
-
if options[:eager]
|
18
|
-
params[:eager] = Cloudinary::Utils.build_array(options[:eager]).map do
|
19
|
-
|transformation, format|
|
20
|
-
transformation = transformation.clone
|
21
|
-
format = transformation.delete(:format) || format
|
22
|
-
[Cloudinary::Utils.generate_transformation_string(transformation), format].compact.join("/")
|
23
|
-
end.join("|")
|
24
|
-
end
|
25
28
|
params
|
26
29
|
end
|
27
30
|
|
@@ -47,6 +50,18 @@ class Cloudinary::Uploader
|
|
47
50
|
}
|
48
51
|
end
|
49
52
|
end
|
53
|
+
|
54
|
+
def self.explicit(public_id, options={})
|
55
|
+
call_api("explicit", options) do
|
56
|
+
{
|
57
|
+
:timestamp=>Time.now.to_i,
|
58
|
+
:type=>options[:type],
|
59
|
+
:public_id=> public_id,
|
60
|
+
:callback=> options[:callback],
|
61
|
+
:eagar=>build_eager(options[:eager]),
|
62
|
+
}
|
63
|
+
end
|
64
|
+
end
|
50
65
|
|
51
66
|
TEXT_PARAMS = [:public_id, :font_family, :font_size, :font_color, :text_align, :font_weight, :font_style, :background, :opacity, :text_decoration]
|
52
67
|
def self.text(text, options={})
|
data/lib/cloudinary/utils.rb
CHANGED
@@ -76,7 +76,9 @@ class Cloudinary::Utils
|
|
76
76
|
secure = ssl_detected || Cloudinary.config.secure if secure.nil?
|
77
77
|
private_cdn = options.delete(:private_cdn) || Cloudinary.config.private_cdn
|
78
78
|
secure_distribution = options.delete(:secure_distribution) || Cloudinary.config.secure_distribution
|
79
|
+
cname = options.delete(:cname) || Cloudinary.config.cname
|
79
80
|
force_remote = options.delete(:force_remote)
|
81
|
+
cdn_subdomain = options.include?(:cdn_subdomain) ? options.delete(:cdn_subdomain) : Cloudinary.config.cdn_subdomain
|
80
82
|
|
81
83
|
original_source = source
|
82
84
|
return original_source if source.blank?
|
@@ -117,9 +119,9 @@ class Cloudinary::Utils
|
|
117
119
|
if secure
|
118
120
|
prefix = "https://#{secure_distribution}"
|
119
121
|
else
|
120
|
-
cdn_subdomain = options.include?(:cdn_subdomain) ? options[:cdn_subdomain] : Cloudinary.config.cdn_subdomain
|
121
122
|
subdomain = cdn_subdomain ? "a#{(Zlib::crc32(source) % 5) + 1}." : ""
|
122
|
-
|
123
|
+
host = cname.blank? ? "#{private_cdn ? "#{cloud_name}-" : ""}res.cloudinary.com" : cname
|
124
|
+
prefix = "http://#{subdomain}#{host}"
|
123
125
|
end
|
124
126
|
prefix += "/#{cloud_name}" if !private_cdn
|
125
127
|
end
|
data/lib/cloudinary/version.rb
CHANGED
data/spec/utils_spec.rb
CHANGED
@@ -259,4 +259,18 @@ describe Cloudinary::Utils do
|
|
259
259
|
options.should == {}
|
260
260
|
result.should == "https://d3jpl91pxevbkh.cloudfront.net/test123/image/upload/test"
|
261
261
|
end
|
262
|
+
|
263
|
+
it "should support extenal cname" do
|
264
|
+
options = {:cname=>"hello.com"}
|
265
|
+
result = Cloudinary::Utils.cloudinary_url("test", options)
|
266
|
+
options.should == {}
|
267
|
+
result.should == "http://hello.com/test123/image/upload/test"
|
268
|
+
end
|
269
|
+
|
270
|
+
it "should support extenal cname with cdn_subdomain on" do
|
271
|
+
options = {:cname=>"hello.com", :cdn_subdomain=>true}
|
272
|
+
result = Cloudinary::Utils.cloudinary_url("test", options)
|
273
|
+
options.should == {}
|
274
|
+
result.should == "http://a2.hello.com/test123/image/upload/test"
|
275
|
+
end
|
262
276
|
end
|
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.0.
|
4
|
+
version: 1.0.31
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-07-
|
14
|
+
date: 2012-07-18 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rest-client
|