cloudinary 1.0.57 → 1.0.58

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -155,6 +155,11 @@ For more details on CarrierWave integration see [our documentation](http://cloud
155
155
 
156
156
  We also published an interesting blog post about [Ruby on Rails image uploads with CarrierWave and Cloudinary](http://cloudinary.com/blog/ruby_on_rails_image_uploads_with_carrierwave_and_cloudinary).
157
157
 
158
+ ### Samples
159
+
160
+ You can find our simple and ready-to-use samples projects, along with documentation in the [samples folder](https://github.com/cloudinary/cloudinary_gem/tree/master/samples).
161
+ Please consult with the [README file](https://github.com/cloudinary/cloudinary_gem/blob/master/samples/README.md), for usage and explanations.
162
+
158
163
 
159
164
  ## Additional resources ##########################################################
160
165
 
@@ -9,7 +9,7 @@ module CloudinaryHelper
9
9
  # cl_image_tag "israel.png", :width=>100, :height=>100, :alt=>"hello", :crop=>:fit # W/H are sent to cloudinary
10
10
  def cl_image_tag(source, options = {})
11
11
  options = options.clone
12
- source = cloudinary_url(source, options)
12
+ source = cloudinary_url_internal(source, options)
13
13
  options[:width] = options.delete(:html_width) if options.include?(:html_width)
14
14
  options[:height] = options.delete(:html_height) if options.include?(:html_height)
15
15
  options[:size] = options.delete(:html_size) if options.include?(:html_size)
@@ -20,7 +20,7 @@ module CloudinaryHelper
20
20
 
21
21
  def cl_image_path(source, options = {})
22
22
  options = options.clone
23
- url = cloudinary_url(source, options)
23
+ url = cloudinary_url_internal(source, options)
24
24
  original_image_path(url)
25
25
  end
26
26
 
@@ -98,7 +98,7 @@ module CloudinaryHelper
98
98
  end
99
99
 
100
100
  options[:format] = "css" unless source.ends_with?(".css")
101
- cloudinary_url(source, options.merge(:type=>:sprite))
101
+ cloudinary_url_internal(source, options.merge(:type=>:sprite))
102
102
  end
103
103
 
104
104
  def cl_sprite_tag(source, options = {})
@@ -143,20 +143,9 @@ module CloudinaryHelper
143
143
  end
144
144
 
145
145
  def cloudinary_url(source, options = {})
146
- options[:ssl_detected] = request.ssl? if defined?(request) && request && request.respond_to?(:ssl?)
147
- if defined?(CarrierWave::Uploader::Base) && source.is_a?(CarrierWave::Uploader::Base)
148
- if source.version_name.present?
149
- options[:transformation] = Cloudinary::Utils.build_array(source.transformation) + Cloudinary::Utils.build_array(options[:transformation])
150
- end
151
- options.reverse_merge!(
152
- :resource_type => Cloudinary::Utils.resource_type_for_format(source.filename || source.format),
153
- :type => source.storage_type,
154
- :format => source.format)
155
- source = source.full_public_id
156
- end
157
- Cloudinary::Utils.cloudinary_url(source, options)
158
- end
159
-
146
+ cloudinary_url_internal(source, options.clone)
147
+ end
148
+
160
149
  def cl_image_upload(object_name, method, options={})
161
150
  cl_image_upload_tag("#{object_name}[#{method}]", options)
162
151
  end
@@ -199,6 +188,21 @@ module CloudinaryHelper
199
188
  end
200
189
 
201
190
  private
191
+ def cloudinary_url_internal(source, options = {})
192
+ options[:ssl_detected] = request.ssl? if defined?(request) && request && request.respond_to?(:ssl?)
193
+ if defined?(CarrierWave::Uploader::Base) && source.is_a?(CarrierWave::Uploader::Base)
194
+ if source.version_name.present?
195
+ options[:transformation] = Cloudinary::Utils.build_array(source.transformation) + Cloudinary::Utils.build_array(options[:transformation])
196
+ end
197
+ options.reverse_merge!(
198
+ :resource_type => Cloudinary::Utils.resource_type_for_format(source.filename || source.format),
199
+ :type => source.storage_type,
200
+ :format => source.format)
201
+ source = source.full_public_id
202
+ end
203
+ Cloudinary::Utils.cloudinary_url(source, options)
204
+ end
205
+
202
206
  def build_callback_url(options)
203
207
  callback_path = options.delete(:callback_cors) || Cloudinary.config.callback_cors || "/cloudinary_cors.html"
204
208
  if !callback_path.match(/^https?:\/\//)
@@ -26,7 +26,7 @@ class Cloudinary::Utils
26
26
  crop = options.delete(:crop)
27
27
  angle = build_array(options.delete(:angle)).join(".")
28
28
 
29
- no_html_sizes = has_layer || !angle.blank? || crop.to_s == "fit" || crop.to_s == "limit"
29
+ no_html_sizes = has_layer || !angle.blank? || crop.to_s == "fit" || crop.to_s == "limit" || crop.to_s == "lfill"
30
30
  options.delete(:width) if width && (width.to_f < 1 || no_html_sizes)
31
31
  options.delete(:height) if height && (height.to_f < 1 || no_html_sizes)
32
32
 
@@ -263,7 +263,7 @@ class Cloudinary::Utils
263
263
  end
264
264
  end
265
265
 
266
- IMAGE_FORMATS = %w(bmp png tif tiff jpg jpeg gif pdf ico eps)
266
+ IMAGE_FORMATS = %w(bmp png tif tiff jpg jpeg gif pdf ico eps jpc jp2 psd)
267
267
 
268
268
  def self.supported_image_format?(format)
269
269
  format = format.to_s.downcase
@@ -1,4 +1,4 @@
1
1
  # Copyright Cloudinary
2
2
  module Cloudinary
3
- VERSION = "1.0.57"
3
+ VERSION = "1.0.58"
4
4
  end
@@ -104,11 +104,15 @@ describe Cloudinary::Utils do
104
104
  result.should == "http://res.cloudinary.com/test123/image/upload/c_crop,h_100,w_100/test"
105
105
  end
106
106
 
107
- it "should not pass width and height to html in case of fit or limit crop" do
107
+ it "should not pass width and height to html in case of fit, lfill or limit crop" do
108
108
  options = {:width=>100, :height=>100, :crop=>:limit}
109
109
  result = Cloudinary::Utils.cloudinary_url("test", options)
110
110
  options.should == {}
111
111
  result.should == "http://res.cloudinary.com/test123/image/upload/c_limit,h_100,w_100/test"
112
+ options = {:width=>100, :height=>100, :crop=>:lfill}
113
+ result = Cloudinary::Utils.cloudinary_url("test", options)
114
+ options.should == {}
115
+ result.should == "http://res.cloudinary.com/test123/image/upload/c_lfill,h_100,w_100/test"
112
116
  options = {:width=>100, :height=>100, :crop=>:fit}
113
117
  result = Cloudinary::Utils.cloudinary_url("test", options)
114
118
  options.should == {}
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.57
4
+ version: 1.0.58
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: 2013-05-01 00:00:00.000000000 Z
14
+ date: 2013-05-16 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client