cloudinary 1.9.1 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,9 @@ require 'cloudinary'
3
3
 
4
4
  describe Cloudinary::Utils do
5
5
 
6
+
6
7
  before :each do
8
+ Cloudinary.reset_config
7
9
  Cloudinary.config do |config|
8
10
  # config.cloud_name = "demo"
9
11
  config.secure_distribution = nil
@@ -450,6 +452,12 @@ describe Cloudinary::Utils do
450
452
  .and empty_options
451
453
  end
452
454
 
455
+ it "should support blur effect with ocr gravity" do
456
+ expect(["test", { :effect => ["blur_region", 5000], :gravity => "ocr_text" }])
457
+ .to produce_url("#{upload_path}/e_blur_region:5000,g_ocr_text/test")
458
+ .and empty_options
459
+ end
460
+
453
461
  it "should support keyframe_interval" do
454
462
  expect(["test", { :keyframe_interval => 10 }])
455
463
  .to produce_url("#{upload_path}/ki_10/test")
@@ -565,7 +573,8 @@ describe Cloudinary::Utils do
565
573
  ["text with font family and size parameters", { :text => text_layer, :font_family => "Arial", :font_size => "18" }, "text:Arial_18:#{text_encoded}"],
566
574
  ["text with text style parameter", { :text => text_layer, :font_family => "Arial", :font_size => "18", :font_weight => "bold", :font_style => "italic", :letter_spacing => 4, :line_spacing => 2 }, "text:Arial_18_bold_italic_letter_spacing_4_line_spacing_2:#{text_encoded}"],
567
575
  ["subtitles", { :resource_type => "subtitles", :public_id => "subtitles.srt" }, "subtitles:subtitles.srt"],
568
- ["subtitles with font family and size", { :resource_type => "subtitles", :public_id => "subtitles.srt", :font_family => "Arial", :font_size => "40" }, "subtitles:Arial_40:subtitles.srt"]
576
+ ["subtitles with font family and size", { :resource_type => "subtitles", :public_id => "subtitles.srt", :font_family => "Arial", :font_size => "40" }, "subtitles:Arial_40:subtitles.srt"],
577
+ ["image of type fetch", { :public_id => "http://res.cloudinary.com/demo/image/upload/ci", :type => "fetch" }, "fetch:aHR0cDovL3Jlcy5jbG91ZGluYXJ5LmNvbS9kZW1vL2ltYWdlL3VwbG9hZC9jaQ=="]
569
578
  ]
570
579
  layers_options.each do |name, options, result|
571
580
  it "should support #{name}" do
@@ -617,8 +626,8 @@ describe Cloudinary::Utils do
617
626
  end
618
627
 
619
628
  it "should support extenal cname with cdn_subdomain on" do
620
- expect(["test", { :cname => "hello.com", :cdn_subdomain => true }])
621
- .to produce_url("http://a2.hello.com/#{cloud_name}/image/upload/test")
629
+ expect(["test", { :cname => "hello.com", :private_cdn => true, :cdn_subdomain => true}])
630
+ .to produce_url("http://a2.hello.com/image/upload/test")
622
631
  .and empty_options
623
632
  end
624
633
 
@@ -807,6 +816,12 @@ describe Cloudinary::Utils do
807
816
  { effect: "sepia" }]])
808
817
  .to produce_url("#{upload_path}/if_w_lt_200,c_fill,h_120,w_80/if_w_gt_400,c_fit,h_150,w_150/e_sepia/sample")
809
818
  end
819
+ it "should allow multiple tags condition" do
820
+ expect(["sample", transformation: [{ if: "!tag1:tag2:tag3!_in_tags", crop: "fill", height: 120, width: 80 },
821
+ { if: "else", crop: "fit", width: 150, height: 150 },
822
+ { effect: "sepia" }]])
823
+ .to produce_url("#{upload_path}/if_!tag1:tag2:tag3!_in_tags,c_fill,h_120,w_80/if_else,c_fit,h_150,w_150/e_sepia/sample")
824
+ end
810
825
 
811
826
  describe "including spaces and operators" do
812
827
  it "should translate operators" do
@@ -903,4 +918,32 @@ describe Cloudinary::Utils do
903
918
  .or eq("symbol_key=string_value|string_key=symbol_value")
904
919
  end
905
920
  end
921
+
922
+ describe "customFunction" do
923
+ custom_function_wasm = {
924
+ :function_type => 'wasm',
925
+ :source => 'blur.wasm'
926
+ }
927
+ custom_function_wasm_str = 'wasm:blur.wasm'
928
+
929
+ custom_function_remote = {
930
+ :function_type => 'remote',
931
+ :source => 'https://df34ra4a.execute-api.us-west-2.amazonaws.com/default/cloudinaryFunction'
932
+ }
933
+ custom_function_remote_str = 'remote:aHR0cHM6Ly9kZjM0cmE0YS5leGVjdXRlLWFwaS51cy13ZXN0LTIuYW1hem9uYXdzLmNvbS9kZWZhdWx0L2Nsb3VkaW5hcnlGdW5jdGlvbg=='
934
+
935
+ it 'should accept a string value' do
936
+ actual = Cloudinary::Utils.generate_transformation_string :custom_function => custom_function_wasm_str
937
+ expect( actual).to eq("fn_#{custom_function_wasm_str}")
938
+ end
939
+ it 'should accept a hash of options' do
940
+ actual = Cloudinary::Utils.generate_transformation_string :custom_function => custom_function_wasm
941
+ expect( actual).to eq("fn_#{custom_function_wasm_str}")
942
+ end
943
+ it 'should base64 encoded URL for a remote function' do
944
+ actual = Cloudinary::Utils.generate_transformation_string :custom_function => custom_function_remote
945
+ expect( actual).to eq("fn_#{custom_function_remote_str}")
946
+
947
+ end
948
+ end
906
949
  end
@@ -14,14 +14,16 @@ if ::Rails::VERSION::MAJOR < 4
14
14
  end
15
15
  end
16
16
  describe CloudinaryHelper do
17
+
17
18
  before :all do
18
19
  # Test the helper in the context it runs in in production
19
20
  ActionView::Base.send :include, CloudinaryHelper
20
21
 
21
22
  end
22
23
  before(:each) do
24
+ Cloudinary.reset_config
23
25
  Cloudinary.config do |config|
24
- config.cloud_name = "test123"
26
+ config.cloud_name = DUMMY_CLOUD
25
27
  config.secure_distribution = nil
26
28
  config.private_cdn = false
27
29
  config.secure = false
@@ -35,11 +37,11 @@ describe CloudinaryHelper do
35
37
  let(:helper) {
36
38
  ActionView::Base.new
37
39
  }
38
- let(:root_path) { "http://res.cloudinary.com/test123" }
40
+ let(:root_path) { "http://res.cloudinary.com/#{DUMMY_CLOUD}" }
39
41
  let(:upload_path) { "#{root_path}/video/upload" }
40
42
 
41
43
  describe 'cl_video_tag' do
42
- let(:basic_options) { { :cloud_name => "test123"} }
44
+ let(:basic_options) { { :cloud_name => DUMMY_CLOUD} }
43
45
  let(:options) { basic_options }
44
46
  let(:test_tag) { TestTag.new helper.cl_video_tag("movie", options) }
45
47
  context "when options include video tag attributes" do
@@ -170,7 +172,7 @@ describe CloudinaryHelper do
170
172
  let(:fallback) { "<span id=\"spanid\">Cannot display video</span>" }
171
173
  let(:options) { basic_options.merge(:fallback_content => fallback) }
172
174
  it "should include fallback content in the tag" do
173
- expect(test_tag.children).to include(TestTag.new(fallback))
175
+ expect(test_tag.children.map(&:to_html)).to include(TestTag.new(fallback).element.to_html)
174
176
  end
175
177
  end
176
178
 
@@ -184,7 +186,7 @@ describe CloudinaryHelper do
184
186
  TestTag.new(html)
185
187
  end
186
188
  it 'should treat the block return value as fallback content' do
187
- expect(test_tag.children).to include("Cannot display video!")
189
+ expect(test_tag.children.map(&:to_html)).to include("Cannot display video!")
188
190
  end
189
191
  end
190
192
  describe "dimensions" do
@@ -6,9 +6,11 @@ require 'cloudinary/helper'
6
6
  require 'action_view/test_case'
7
7
 
8
8
  describe Cloudinary::Utils do
9
+
9
10
  before(:each) do
11
+ Cloudinary.reset_config
10
12
  Cloudinary.config do |config|
11
- config.cloud_name = "test123"
13
+ config.cloud_name = DUMMY_CLOUD
12
14
  config.secure_distribution = nil
13
15
  config.private_cdn = false
14
16
  config.secure = false
@@ -18,7 +20,7 @@ describe Cloudinary::Utils do
18
20
  config.api_secret = "b"
19
21
  end
20
22
  end
21
- let(:root_path) { "http://res.cloudinary.com/test123" }
23
+ let(:root_path) { "http://res.cloudinary.com/#{DUMMY_CLOUD}" }
22
24
  let(:upload_path) { "#{root_path}/video/upload" }
23
25
 
24
26
  describe "cloudinary_url" do
@@ -0,0 +1,202 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Update version number and prepare for publishing the new version
4
+
5
+ set -e
6
+
7
+ # Empty to run the rest of the line and "echo" for a dry run
8
+ CMD_PREFIX=
9
+
10
+ # Add a quote if this is a dry run
11
+ QUOTE=
12
+
13
+ NEW_VERSION=
14
+
15
+ function echo_err
16
+ {
17
+ echo "$@" 1>&2;
18
+ }
19
+
20
+ function usage
21
+ {
22
+ echo "Usage: $0 [parameters]"
23
+ echo " -v | --version <version> set a new version"
24
+ echo " -c | --current show current version"
25
+ echo " -d | --dry-run print the commands without executing them"
26
+ echo " -h | --help print this information and exit"
27
+ echo
28
+ echo "For example: $0 -v 1.2.3"
29
+ }
30
+
31
+ function process_arguments
32
+ {
33
+ while [ "$1" != "" ]; do
34
+ case $1 in
35
+ -v | --version )
36
+ shift
37
+ NEW_VERSION=${1:-}
38
+ if ! [[ "${NEW_VERSION}" =~ [0-9]+\.[0-9]+\.[0-9]+(\-.+)? ]]; then
39
+ echo_err "You must supply a new version after -v or --version"
40
+ echo_err "For example:"
41
+ echo_err " 1.2.3"
42
+ echo_err " 1.2.3-rc1"
43
+ echo_err ""
44
+ usage; return 1
45
+ fi
46
+ ;;
47
+ -c | --current )
48
+ echo `current_version`
49
+ exit
50
+ ;;
51
+ -d | --dry-run )
52
+ CMD_PREFIX=echo
53
+ echo "Dry Run"
54
+ echo ""
55
+ ;;
56
+ -h | --help )
57
+ usage; return 0
58
+ ;;
59
+ * )
60
+ usage; return 1
61
+ esac
62
+ shift || true
63
+ done
64
+ }
65
+
66
+ # Intentionally make pushd silent
67
+ function pushd
68
+ {
69
+ command pushd "$@" > /dev/null
70
+ }
71
+
72
+ # Intentionally make popd silent
73
+ function popd
74
+ {
75
+ command popd "$@" > /dev/null
76
+ }
77
+
78
+ # Check if one version is less than or equal than other
79
+ # Example:
80
+ # ver_lte 1.2.3 1.2.3 && echo "yes" || echo "no" # yes
81
+ # ver_lte 1.2.3 1.2.4 && echo "yes" || echo "no" # yes
82
+ # ver_lte 1.2.4 1.2.3 && echo "yes" || echo "no" # no
83
+ function ver_lte
84
+ {
85
+ [ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ]
86
+ }
87
+
88
+ # Extract the last entry or entry for a given version
89
+ # The function is not currently used in this file.
90
+ # Examples:
91
+ # changelog_last_entry
92
+ # changelog_last_entry 1.10.0
93
+ #
94
+ function changelog_last_entry
95
+ {
96
+ sed -e "1,/^${1}/d" -e '/^=/d' -e '/^$/d' -e '/^[0-9]/,$d' CHANGELOG.md
97
+ }
98
+
99
+ function verify_dependencies
100
+ {
101
+ # Test if the gnu grep is installed
102
+ if ! grep --version | grep -q GNU
103
+ then
104
+ echo_err "GNU grep is required for this script"
105
+ echo_err "You can install it using the following command:"
106
+ echo_err ""
107
+ echo_err "brew install grep --with-default-names"
108
+ return 1
109
+ fi
110
+
111
+ if [[ -z "$(type -t git-changelog)" ]]
112
+ then
113
+ echo_err "git-extras packages is not installed."
114
+ echo_err "You can install it using the following command:"
115
+ echo_err ""
116
+ echo_err "brew install git-extras"
117
+ return 1
118
+ fi
119
+ }
120
+
121
+ # Replace old string only if it is present in the file, otherwise return 1
122
+ function safe_replace
123
+ {
124
+ local old=$1
125
+ local new=$2
126
+ local file=$3
127
+
128
+ grep -q "${old}" "${file}" || { echo_err "${old} was not found in ${file}"; return 1; }
129
+
130
+ ${CMD_PREFIX} sed -E -i '.bak' "${QUOTE}s/${old}/${new}/${QUOTE}" "${file}"
131
+ }
132
+
133
+ function current_version
134
+ {
135
+ grep -oiP '(?<=VERSION = ")([0-9.]+)(?=")' lib/cloudinary/version.rb
136
+ }
137
+
138
+ function update_version
139
+ {
140
+ if [ -z "${NEW_VERSION}" ]; then
141
+ usage; return 1
142
+ fi
143
+
144
+ # Enter git root
145
+ pushd $(git rev-parse --show-toplevel)
146
+ local current_version=$(current_version)
147
+
148
+ if [ -z "${current_version}" ]; then
149
+ echo_err "Failed getting current version, please check directory structure and/or contact developer"
150
+ return 1
151
+ fi
152
+
153
+ # Use literal dot character in regular expression
154
+ local current_version_re=${current_version//./\\.}
155
+
156
+ echo "# Current version is: ${current_version}"
157
+ echo "# New version is: ${NEW_VERSION}"
158
+
159
+ ver_lte "${NEW_VERSION}" "${current_version}" && { echo_err "New version is not greater than current version"; return 1; }
160
+
161
+ # Add a quote if this is a dry run
162
+ QUOTE=${CMD_PREFIX:+"'"}
163
+
164
+ safe_replace "VERSION = \"${current_version_re}\""\
165
+ "VERSION = \"${NEW_VERSION}\""\
166
+ lib/cloudinary/version.rb\
167
+ || return 1
168
+
169
+ ${CMD_PREFIX} git changelog -t ${NEW_VERSION} || true
170
+
171
+ echo ""
172
+ echo "# After editing CHANGELOG.md, optionally review changes and issue these commands:"
173
+ echo git add lib/cloudinary/version.rb CHANGELOG.md
174
+ echo git commit -m \"Version ${NEW_VERSION}\"
175
+ echo sed -e "'1,/^${NEW_VERSION//./\\.}/d'" \
176
+ -e "'/^=/d'" \
177
+ -e "'/^$/d'" \
178
+ -e "'/^[0-9]/,\$d'" \
179
+ CHANGELOG.md \
180
+ \| git tag -a "'${NEW_VERSION}'" --file=-
181
+
182
+ # Don't run those commands on dry run
183
+ [ -n "${CMD_PREFIX}" ] && { popd; return 0; }
184
+
185
+ echo ""
186
+ read -p "Run the above commands automatically? (y/N): " confirm && [[ ${confirm} == [yY] || ${confirm} == [yY][eE][sS] ]] || { popd; return 0; }
187
+
188
+ git add lib/cloudinary/version.rb CHANGELOG.md
189
+ git commit -m "Version ${NEW_VERSION}"
190
+ sed -e "1,/^${NEW_VERSION//./\\.}/d" \
191
+ -e "/^=/d" \
192
+ -e "/^$/d" \
193
+ -e "/^[0-9]/,\$d" \
194
+ CHANGELOG.md \
195
+ | git tag -a "${NEW_VERSION}" --file=-
196
+
197
+ popd
198
+ }
199
+
200
+ verify_dependencies
201
+ process_arguments $*
202
+ update_version
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.9.1
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nadav Soferman
@@ -10,120 +10,162 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-03-05 00:00:00.000000000 Z
13
+ date: 2018-11-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: aws_cf_signer
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ">="
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ">="
26
+ - - ! '>='
27
27
  - !ruby/object:Gem::Version
28
28
  version: '0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rspec
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ">="
33
+ - - ! '>='
34
34
  - !ruby/object:Gem::Version
35
35
  version: '3.5'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ">="
40
+ - - ! '>='
41
41
  - !ruby/object:Gem::Version
42
42
  version: '3.5'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rspec-rails
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - ! '>='
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ">="
54
+ - - ! '>='
55
55
  - !ruby/object:Gem::Version
56
56
  version: '0'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rake
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ">="
61
+ - - ! '>='
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ">="
68
+ - - ! '>='
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rest-client
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - ">="
75
+ - - <
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: '2.0'
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - ">="
82
+ - - <
83
83
  - !ruby/object:Gem::Version
84
- version: '0'
84
+ version: '2.0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: json
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ~>
90
+ - !ruby/object:Gem::Version
91
+ version: '1.8'
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: '1.8'
85
99
  - !ruby/object:Gem::Dependency
86
100
  name: actionpack
87
101
  requirement: !ruby/object:Gem::Requirement
88
102
  requirements:
89
- - - ">="
103
+ - - <
90
104
  - !ruby/object:Gem::Version
91
- version: '0'
105
+ version: '5.0'
92
106
  type: :development
93
107
  prerelease: false
94
108
  version_requirements: !ruby/object:Gem::Requirement
95
109
  requirements:
96
- - - ">="
110
+ - - <
97
111
  - !ruby/object:Gem::Version
98
- version: '0'
112
+ version: '5.0'
99
113
  - !ruby/object:Gem::Dependency
100
114
  name: simplecov
101
115
  requirement: !ruby/object:Gem::Requirement
102
116
  requirements:
103
- - - ">="
117
+ - - ! '>='
104
118
  - !ruby/object:Gem::Version
105
119
  version: '0'
106
120
  type: :development
107
121
  prerelease: false
108
122
  version_requirements: !ruby/object:Gem::Requirement
109
123
  requirements:
110
- - - ">="
124
+ - - ! '>='
111
125
  - !ruby/object:Gem::Version
112
126
  version: '0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: nokogiri
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - <
132
+ - !ruby/object:Gem::Version
133
+ version: 1.7.0
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - <
139
+ - !ruby/object:Gem::Version
140
+ version: 1.7.0
113
141
  - !ruby/object:Gem::Dependency
114
142
  name: rubyzip
115
143
  requirement: !ruby/object:Gem::Requirement
116
144
  requirements:
117
- - - ">="
145
+ - - <
118
146
  - !ruby/object:Gem::Version
119
- version: '0'
147
+ version: 1.2.1
120
148
  type: :development
121
149
  prerelease: false
122
150
  version_requirements: !ruby/object:Gem::Requirement
123
151
  requirements:
124
- - - ">="
152
+ - - <
125
153
  - !ruby/object:Gem::Version
126
- version: '0'
154
+ version: 1.2.1
155
+ - !ruby/object:Gem::Dependency
156
+ name: rack
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - <
160
+ - !ruby/object:Gem::Version
161
+ version: 1.6.5
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - <
167
+ - !ruby/object:Gem::Version
168
+ version: 1.6.5
127
169
  description: Client library for easily using the Cloudinary service
128
170
  email:
129
171
  - nadav.soferman@cloudinary.com
@@ -133,9 +175,9 @@ executables: []
133
175
  extensions: []
134
176
  extra_rdoc_files: []
135
177
  files:
136
- - ".gitignore"
137
- - ".rspec"
138
- - ".travis.yml"
178
+ - .gitignore
179
+ - .rspec
180
+ - .travis.yml
139
181
  - CHANGELOG.md
140
182
  - CONTRIBUTING.md
141
183
  - Gemfile
@@ -146,6 +188,11 @@ files:
146
188
  - lib/cloudinary/api.rb
147
189
  - lib/cloudinary/auth_token.rb
148
190
  - lib/cloudinary/blob.rb
191
+ - lib/cloudinary/cache.rb
192
+ - lib/cloudinary/cache/breakpoints_cache.rb
193
+ - lib/cloudinary/cache/key_value_cache_adapter.rb
194
+ - lib/cloudinary/cache/rails_cache_adapter.rb
195
+ - lib/cloudinary/cache/storage/rails_cache_storage.rb
149
196
  - lib/cloudinary/carrier_wave.rb
150
197
  - lib/cloudinary/carrier_wave/error.rb
151
198
  - lib/cloudinary/carrier_wave/preloaded.rb
@@ -162,6 +209,7 @@ files:
162
209
  - lib/cloudinary/ostruct2.rb
163
210
  - lib/cloudinary/preloaded_file.rb
164
211
  - lib/cloudinary/railtie.rb
212
+ - lib/cloudinary/responsive.rb
165
213
  - lib/cloudinary/search.rb
166
214
  - lib/cloudinary/static.rb
167
215
  - lib/cloudinary/uploader.rb
@@ -173,6 +221,7 @@ files:
173
221
  - spec/api_spec.rb
174
222
  - spec/archive_spec.rb
175
223
  - spec/auth_token_spec.rb
224
+ - spec/cache_spec.rb
176
225
  - spec/cloudinary_helper_spec.rb
177
226
  - spec/cloudinary_spec.rb
178
227
  - spec/data/sync_static/app/assets/javascripts/1.coffee
@@ -180,6 +229,7 @@ files:
180
229
  - spec/data/sync_static/app/assets/stylesheets/1.css
181
230
  - spec/docx.docx
182
231
  - spec/favicon.ico
232
+ - spec/image_spec.rb
183
233
  - spec/logo.png
184
234
  - spec/rake_spec.rb
185
235
  - spec/sample_asset_file.tsv
@@ -194,6 +244,7 @@ files:
194
244
  - spec/utils_spec.rb
195
245
  - spec/video_tag_spec.rb
196
246
  - spec/video_url_spec.rb
247
+ - tools/update_version
197
248
  - vendor/assets/html/cloudinary_cors.html
198
249
  - vendor/assets/javascripts/cloudinary/canvas-to-blob.min.js
199
250
  - vendor/assets/javascripts/cloudinary/index.js
@@ -216,17 +267,17 @@ require_paths:
216
267
  - lib
217
268
  required_ruby_version: !ruby/object:Gem::Requirement
218
269
  requirements:
219
- - - ">="
270
+ - - ! '>='
220
271
  - !ruby/object:Gem::Version
221
272
  version: '0'
222
273
  required_rubygems_version: !ruby/object:Gem::Requirement
223
274
  requirements:
224
- - - ">="
275
+ - - ! '>='
225
276
  - !ruby/object:Gem::Version
226
277
  version: '0'
227
278
  requirements: []
228
279
  rubyforge_project: cloudinary
229
- rubygems_version: 2.6.12
280
+ rubygems_version: 2.7.7
230
281
  signing_key:
231
282
  specification_version: 4
232
283
  summary: Client library for easily using the Cloudinary service
@@ -235,6 +286,7 @@ test_files:
235
286
  - spec/api_spec.rb
236
287
  - spec/archive_spec.rb
237
288
  - spec/auth_token_spec.rb
289
+ - spec/cache_spec.rb
238
290
  - spec/cloudinary_helper_spec.rb
239
291
  - spec/cloudinary_spec.rb
240
292
  - spec/data/sync_static/app/assets/javascripts/1.coffee
@@ -242,6 +294,7 @@ test_files:
242
294
  - spec/data/sync_static/app/assets/stylesheets/1.css
243
295
  - spec/docx.docx
244
296
  - spec/favicon.ico
297
+ - spec/image_spec.rb
245
298
  - spec/logo.png
246
299
  - spec/rake_spec.rb
247
300
  - spec/sample_asset_file.tsv