cloudinary 1.9.1 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +5 -5
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +42 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
  4. data/.github/pull_request_template.md +24 -0
  5. data/.gitignore +7 -1
  6. data/.travis.yml +15 -8
  7. data/CHANGELOG.md +261 -0
  8. data/README.md +3 -0
  9. data/Rakefile +3 -45
  10. data/cloudinary.gemspec +27 -20
  11. data/lib/active_storage/blob_key.rb +20 -0
  12. data/lib/active_storage/service/cloudinary_service.rb +249 -0
  13. data/lib/cloudinary.rb +53 -63
  14. data/lib/cloudinary/account_api.rb +231 -0
  15. data/lib/cloudinary/account_config.rb +30 -0
  16. data/lib/cloudinary/api.rb +228 -71
  17. data/lib/cloudinary/auth_token.rb +10 -4
  18. data/lib/cloudinary/base_api.rb +79 -0
  19. data/lib/cloudinary/base_config.rb +70 -0
  20. data/lib/cloudinary/cache.rb +38 -0
  21. data/lib/cloudinary/cache/breakpoints_cache.rb +31 -0
  22. data/lib/cloudinary/cache/key_value_cache_adapter.rb +25 -0
  23. data/lib/cloudinary/cache/rails_cache_adapter.rb +34 -0
  24. data/lib/cloudinary/cache/storage/rails_cache_storage.rb +5 -0
  25. data/lib/cloudinary/carrier_wave.rb +4 -2
  26. data/lib/cloudinary/carrier_wave/remote.rb +3 -2
  27. data/lib/cloudinary/carrier_wave/storage.rb +2 -1
  28. data/lib/cloudinary/{controller.rb → cloudinary_controller.rb} +3 -5
  29. data/lib/cloudinary/config.rb +43 -0
  30. data/lib/cloudinary/helper.rb +77 -7
  31. data/lib/cloudinary/migrator.rb +3 -1
  32. data/lib/cloudinary/railtie.rb +7 -3
  33. data/lib/cloudinary/responsive.rb +111 -0
  34. data/lib/cloudinary/uploader.rb +67 -15
  35. data/lib/cloudinary/utils.rb +324 -54
  36. data/lib/cloudinary/version.rb +1 -1
  37. data/lib/cloudinary/video_helper.rb +96 -22
  38. data/lib/tasks/cloudinary/fetch_assets.rake +48 -0
  39. data/lib/tasks/{cloudinary.rake → cloudinary/sync_static.rake} +0 -0
  40. data/tools/allocate_test_cloud.sh +9 -0
  41. data/tools/get_test_cloud.sh +9 -0
  42. data/tools/update_version +220 -0
  43. data/vendor/assets/javascripts/cloudinary/jquery.cloudinary.js +51 -13
  44. data/vendor/assets/javascripts/cloudinary/jquery.fileupload.js +24 -4
  45. data/vendor/assets/javascripts/cloudinary/jquery.ui.widget.js +741 -561
  46. data/vendor/assets/javascripts/cloudinary/load-image.all.min.js +1 -1
  47. metadata +92 -67
  48. data/spec/access_control_spec.rb +0 -99
  49. data/spec/api_spec.rb +0 -545
  50. data/spec/archive_spec.rb +0 -129
  51. data/spec/auth_token_spec.rb +0 -79
  52. data/spec/cloudinary_helper_spec.rb +0 -190
  53. data/spec/cloudinary_spec.rb +0 -32
  54. data/spec/data/sync_static/app/assets/javascripts/1.coffee +0 -1
  55. data/spec/data/sync_static/app/assets/javascripts/1.js +0 -1
  56. data/spec/data/sync_static/app/assets/stylesheets/1.css +0 -3
  57. data/spec/docx.docx +0 -0
  58. data/spec/favicon.ico +0 -0
  59. data/spec/logo.png +0 -0
  60. data/spec/rake_spec.rb +0 -160
  61. data/spec/sample_asset_file.tsv +0 -4
  62. data/spec/search_spec.rb +0 -109
  63. data/spec/spec_helper.rb +0 -245
  64. data/spec/storage_spec.rb +0 -44
  65. data/spec/streaminig_profiles_api_spec.rb +0 -74
  66. data/spec/support/helpers/temp_file_helpers.rb +0 -22
  67. data/spec/support/shared_contexts/rake.rb +0 -19
  68. data/spec/uploader_spec.rb +0 -363
  69. data/spec/utils_methods_spec.rb +0 -54
  70. data/spec/utils_spec.rb +0 -906
  71. data/spec/video_tag_spec.rb +0 -251
  72. data/spec/video_url_spec.rb +0 -164
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: aa2967c1b17b93efadf7db793ac1110b7bd411f6
4
- data.tar.gz: 79d2beeae5fe07afd1c4aaffb3bc17d442b2f418
2
+ SHA256:
3
+ metadata.gz: 9b641514503d45c3a6c4e8ba5ed87f0f5b8e521260eda789212543be5ccf77a1
4
+ data.tar.gz: 0f65e99aa08e446f01d783af5284a1265aaa4f28a1e95c284addd30beb36ec8c
5
5
  SHA512:
6
- metadata.gz: a46e2e84655389ac281378a44212964acd0f43f0ff66b9d7ef6fc0ce5cbf8a6b6467925dca57768174f0246780f844d6f4f08683fac95d46a49d3bee1d3ec18b
7
- data.tar.gz: 873cf3dbb2ad9296c31d0aacfbbacf66b210bad3220c73e27014f7c386295cad91ae1347fd4c4d5c1631d311bc88c8fe899404bc68aa91a6e12f37e7346028f5
6
+ metadata.gz: 191f627013b5f97fca44e748fd1c4631f9af58a69680b02fdc6b4604e2ddf31216542fcb88e2d1daa825c0ff22a138f2c7d0b41d4895a69cc1b7eaa42a1ab16a
7
+ data.tar.gz: 8a5abe09f562e188e1e6d43d05f462939c62c4070ac50e93c3acaf876998e651aa2fc50775a10c5fb324d388fac9d599c5fe0e60480cdbbebeb7eedf699057e8
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: Bug report
3
+ about: Bug report for Cloudinary Ruby SDK
4
+ title: ''
5
+ labels: ''
6
+ assignees: const-cloudinary
7
+
8
+ ---
9
+
10
+ ## Bug report for Cloudinary Ruby SDK
11
+ Before proceeding, please update to latest version and test if the issue persists
12
+
13
+ ## Describe the bug in a sentence or two.
14
+
15
+
16
+ ## Issue Type (Can be multiple)
17
+ [ ] Build - Can’t install or import the SDK
18
+ [ ] Performance - Performance issues
19
+ [ ] Behaviour - Functions aren’t working as expected (Such as generate URL)
20
+ [ ] Documentation - Inconsistency between the docs and behaviour
21
+ [ ] Other (Specify)
22
+
23
+ ## Steps to reproduce
24
+ … if applicable
25
+
26
+ ## Error screenshots or Stack Trace (if applicable)
27
+
28
+
29
+ ## Operating System
30
+ [ ] Linux
31
+ [ ] Windows
32
+ [ ] OSX
33
+ [ ] All
34
+
35
+ ## Environment and Libraries (fill in the version numbers)
36
+ Cloudinary Ruby SDK version - 0.0.0
37
+ Ruby Version - 0.0.0
38
+ Rails Version - 0.0.0
39
+ Other Libraries (Carrierwave, ActiveStorage, etc) - 0.0.0
40
+
41
+ ## Repository
42
+ If possible, please provide a link to a reproducible repository that showcases the problem
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: Feature request
3
+ about: Feature request for Cloudinary Ruby SDK
4
+ title: ''
5
+ labels: ''
6
+ assignees: const-cloudinary
7
+
8
+ ---
9
+
10
+ ## Feature request for Cloudinary Ruby SDK
11
+ …(If your feature is for other SDKs, please request them there)
12
+
13
+
14
+ ## Explain your use case
15
+ … (A high level explanation of why you need this feature)
16
+
17
+ ## Describe the problem you’re trying to solve
18
+ … (A more technical view of what you’d like to accomplish, and how this feature will help you achieve it)
19
+
20
+ ## Do you have a proposed solution?
21
+ … (yes, no? Please elaborate if needed)
@@ -0,0 +1,24 @@
1
+ ### Brief Summary of Changes
2
+ <!--
3
+ Provide some context as to what was changed, from an implementation standpoint.
4
+ -->
5
+
6
+ #### What does this PR address?
7
+ [ ] Gitub issue (Add reference - #XX)
8
+ [ ] Refactoring
9
+ [ ] New feature
10
+ [ ] Bug fix
11
+ [ ] Adds more tests
12
+
13
+ #### Are tests included?
14
+ [ ] Yes
15
+ [ ] No
16
+
17
+ #### Reviewer, Please Note:
18
+ <!--
19
+ List anything here that the reviewer should pay special attention to. This might
20
+ include, for example:
21
+ • Dependence on other PRs
22
+ • Reference to other Cloudinary SDKs
23
+ • Changes that seem arbitrary without further explanations
24
+ -->
data/.gitignore CHANGED
@@ -54,4 +54,10 @@ bower.json
54
54
  # Ignore pow environment settings
55
55
  .powenv
56
56
 
57
- cloudinary.yml
57
+ !lib/
58
+ cloudinary.yml
59
+ configuration.yml
60
+
61
+ # Developer env
62
+ .idea
63
+ .vscode
data/.travis.yml CHANGED
@@ -1,12 +1,19 @@
1
1
  language: ruby
2
2
 
3
- before_install:
4
- - gem install bundler
3
+ matrix:
4
+ include:
5
+ - name: "Ruby 1.9"
6
+ dist: precise
7
+ rvm: 1.9.3
8
+ before_install:
9
+ - gem install bundler -v 1.17.3
10
+ - name: "Ruby 2.5.3"
11
+ dist: xenial
12
+ rvm: ruby-2.5.3
13
+ before_install:
14
+ - gem install bundler
5
15
 
6
- rvm:
7
- - 1.9.3
8
- - 2.2.3
9
- env:
10
- matrix:
11
- secure: OTtg+CpNgfqJYqJk4rRZRvljss2p6nLTgBLrdUt/4hpSFLFueo0m7Jdu2zeEDPLEzMKo6zZlBp1/BPjCHtnjda7qpOQpMutEzD5EG60BG5LiMDsoAHL6apiL4zNUy8Sjcp/QslpKRozcYzogHjCnxM8RtSnW9wqiCehM5yivlj4JwU/e2x7XZGRbwW2jj4kr/BAdylYYftAaVOrl/3vqngE2tciq6YRL5GFR6o1L5ty435jsyDwEWAPs6vTLwJuEmPLJ4pEOVPOI08zOgVWKHyAWiCc7WYyBxKDmDUU9Xth922ko7nhptQUJeJuxh2dTvrPuTkibNzX1QLugX8RwzJ7pXG9iuhx14lmFbfZZtl+g2SEh5Hem5GFCVOlxpULuxZUKDcNwYURWwuoeBYpGOrOu7xn70o6cF3bNfenUJEl/ts1YgAZ/pcHmbeW95ovb+vTHj8uPk1J17FKOtXjbgblzYLwrl68ika1QfWJEYq1DcI7BT7AwsEeThPmvQ03y+lH8DrYQVprzTpjGICvMyMQSZdA8woXMeEFV0CzKew1+Q0JgjLpYDTQ6U51HEvzCZFTNoN2ZDdsdMRtkxmjBwgEQAY5+SA5icI6/uxAvloScl+7SnNiAhqyPaA2YlwZ/xhI8plvydkmK805Z1uZztGUNu0yn47FzGDC286RF/rI=
16
+ before_script: >
17
+ export CLOUDINARY_URL=$(bash tools/get_test_cloud.sh);
18
+ echo cloud_name: "$(echo $CLOUDINARY_URL | cut -d'@' -f2)"
12
19
  script: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -1,3 +1,264 @@
1
+ 1.20.0 / 2021-03-26
2
+ ==================
3
+
4
+ New functionality and features
5
+ ------------------------------
6
+
7
+ * Add support for `download_backedup_asset` helper method
8
+ * Add support for `filename_override` upload parameter
9
+ * Add support for `SHA-256` algorithm in auth signatures
10
+
11
+ Other Changes
12
+ -------------
13
+
14
+ * Fix `type` parameter support in ActiveStorage service
15
+ * Fix expression normalization in advanced cases
16
+ * Add test for context metadata as user variables
17
+ * Improve validation of auth token generation
18
+
19
+
20
+ 1.19.0 / 2021-03-05
21
+ ==================
22
+
23
+ New functionality and features
24
+ ------------------------------
25
+
26
+ * Add Account Provisioning API
27
+ * Add support for `api_proxy` parameter
28
+ * Add support for `date` parameter in `usage` Admin API
29
+
30
+ Other Changes
31
+ -------------
32
+
33
+ * Fix direct upload of raw files
34
+ * Improve unit testing of add-ons
35
+ * Change test for `eval` upload parameter
36
+ * Bump vulnerable version of rubyzip
37
+ * Fix `cloudinary.gemspec` glob issue
38
+
39
+ 1.18.1 / 2020-09-30
40
+ ===================
41
+
42
+ * Update embedded `jquery.cloudinary.js` to fix ES5 compatibility issue
43
+
44
+ 1.18.0 / 2020-09-27
45
+ ===================
46
+
47
+ New functionality and features
48
+ ------------------------------
49
+ * Add `download_folder` helper
50
+ * Add support for `sources` in `video` tag
51
+ * Add structured metadata to Admin and Upload API
52
+
53
+ Other Changes
54
+ -------------
55
+ * Fix download of a raw file in ActiveStorage
56
+ * Update embedded `jquery.cloudinary.js` to fix ES5 compatibility issue
57
+
58
+ 1.17.1 / 2020-08-25
59
+ ===================
60
+
61
+ * Fix options handling issue in SassC
62
+
63
+ 1.17.0 / 2020-08-21
64
+ ===================
65
+
66
+ New functionality and features
67
+ ------------------------------
68
+
69
+ * Add support for `eval` upload parameter
70
+ * Add support for 32-char signature length
71
+
72
+ Other Changes
73
+ -------------
74
+
75
+ * Fix escaping of query string characters in CarrierWave integration
76
+ * Fix detection integration test
77
+ * Integrate with sub-account test service
78
+ * Add pull request template
79
+
80
+ 1.16.1 / 2020-07-06
81
+ ===================
82
+
83
+ * Detect data URLs with suffix in mime type
84
+ * Fix `Invalid regular expression` error in Safari
85
+
86
+ 1.16.0 / 2020-06-29
87
+ ===================
88
+
89
+ New functionality and features
90
+ ------------------------------
91
+
92
+ * Add support for uploading `StringIO`
93
+
94
+ Other Changes
95
+ -------------
96
+
97
+ * Set default cache storage to `file` in `CarrierWave`
98
+ * Fix `normalize_expression` to ignore predefined variables
99
+ * Fix sample projects
100
+
101
+ 1.15.0 / 2020-06-11
102
+ ===================
103
+
104
+ New functionality and features
105
+ ------------------------------
106
+
107
+ * Add support for `accessibility_analysis` parameter
108
+
109
+ Other Changes
110
+ -------------
111
+ * Fix `download` function in `Cloudinary::CarrierWave`
112
+ * Fix handling of empty value in `if` parameter
113
+ * Fix consumption of configuration from environment variables
114
+
115
+ 1.14.0 / 2020-05-06
116
+ ===================
117
+
118
+ New functionality and features
119
+ ------------------------------
120
+
121
+ * Add support of global folder in ActiveStorage
122
+ * Add duration to conditions in video
123
+
124
+ Other Changes
125
+ -------------
126
+
127
+ * Fix `URI.unescape is obsolete` warning
128
+ * Fix lingering Rails 6 autoload warnings
129
+ * Fix Ruby 1.9 CI build
130
+ * Allow setting uploader timeout to `nil`
131
+ * Update link to CarrierWave integration
132
+ * Update issue templates
133
+
134
+ 1.13.2 / 2020-01-19
135
+ ===================
136
+
137
+ * Fix asset extension detection in active storage service `url` method
138
+
139
+ 1.13.1 / 2019-11-24
140
+ ===================
141
+
142
+ * Remove `test_files` from `gemspec`
143
+ * Remove redundant binary files from `active_storage` spec
144
+ * Fix `rspec` deprecation warnings in Rails 6
145
+ * Add test for uploading IO
146
+
147
+ 1.13.0 / 2019-11-14
148
+ ===================
149
+
150
+ New functionality and features
151
+ ------------------------------
152
+ * Add `SassC` `cloudinary-url` function
153
+
154
+ Other Changes
155
+ -------------
156
+
157
+ * Fix ActiveStorage download not using `ssl` for `https`
158
+ * Fix resource type detection in ActiveStorage
159
+ * Fix `storage_type` instance method in `Cloudinary::CarrierWave` module
160
+ * Fix sample project, limit sqlite3 to a compatible version
161
+
162
+ 1.12.0 / 2019-10-02
163
+ =============
164
+
165
+ New functionality and features
166
+ ------------------------------
167
+
168
+ * Add Cloudinary service for ActiveStorage
169
+ * Add `create_folder` Admin API method
170
+ * Add `delete_folder` Admin API method
171
+ * Add `cinemagraph_analysis` to `upload`, `explicit` and `resource` API methods
172
+ * Add `font_antialiasing` and `font_hinting` text style parameters
173
+ * Add `derived_next_cursor` parameter to `resource` Admin API
174
+ * Add `next_cursor` and `max_results` for `root_folders` and `subfolders` Admin API functions
175
+ * Add `jpeg` to `IMAGE_FORMATS`
176
+ * Add `pow` transformation operator
177
+ * Add `force_version` to `cloudinary_url`
178
+ * Support per corner values for the `radius` transformation parameter
179
+ * Support using multiple resource types when generating archives
180
+ * Support Google Storage fetch URL
181
+
182
+ Other Changes
183
+ -------------
184
+ * Ensure `CLOUDINARY_URL` starts with `cloudinary://`
185
+ * Reduce memory usage in `Cloudinary::Utils.cloudinary_url`
186
+ * Encode URL in Admin API methods
187
+ * Fix base64 data validation
188
+ * Return `video` as the `resource_type` for audio files
189
+ * Add language and platform version for ruby/rails user agent
190
+ * Fix TravisCI configuration for ruby 1.9
191
+
192
+
193
+ 1.11.1 / 2018-12-22
194
+ ===================
195
+
196
+ * Merge pull request #330 from langsharpe/constant_nil_is_deprecated
197
+ * Replace `NIL` with `Nil` to fix ruby 2.4 deprecation warning
198
+
199
+ 1.11.0 / 2018-12-12
200
+ ===================
201
+
202
+ New functionality and features
203
+ ------------------------------
204
+
205
+ * Support new parameters and values:
206
+ * `auto` keyword in the `start_offset`
207
+ * `art` artistic effect
208
+ * `fps`
209
+ * `quality_analysis`
210
+ * `quality_override`
211
+ * `pre` custom function transformation
212
+ * Add namespace to the cloudinary controller to avoiding conflicts (#319)
213
+
214
+ Other Changes
215
+ -------------
216
+
217
+ * Add "Join the Community"
218
+ * Merge pull request #290 from zenspider/fix_carrierwave_deps
219
+ * Fixed direct references to ::CarrierWave with `defined?` guards.
220
+ * Fix debugging output to use mutex so output isn't garbled.
221
+
222
+ 1.10.1-rc / 2018-11-20
223
+ ======================
224
+
225
+ * Fix transformation list test
226
+ * Fix detection test
227
+ * Remove encrypted variables from .travis.yml
228
+ * Update dependencies
229
+ * Support "pre" versions in update_version
230
+
231
+ 1.10.0 / 2018-11-08
232
+ ===================
233
+
234
+ New functionality and features
235
+ ------------------------------
236
+
237
+ * Add the `custom_function` transformation parameter
238
+ * Add Picture and source tags
239
+ * Add `srcset` attribute to image tag
240
+ * Add support for overlays of type fetch
241
+ * Add breakpoints cache
242
+
243
+ Other Changes
244
+ -------------
245
+
246
+ * Add `update_version` script
247
+ * Fix transformations test
248
+ * Replace ruby list notation to support older ruby versions
249
+ * Refactor tests
250
+ * Replace REXML with Nokogiri
251
+ * Un-ignore the lib folder
252
+ * Ignore empty transformations when processing an array of transformations
253
+ * Restore configuration after each test
254
+ * Limit Rack version to fix compatibility issues with ruby 1.9.3
255
+ * Fix context escaping in call_context_api
256
+ * Fix uploadLarge to use X-Unique-Upload-Id
257
+ * Add test cases of OCR for upload and URL generation
258
+ * Add test case of conditional tags
259
+ * Fix expected result in cname with cdn_subdomain test
260
+ * Fix raw conversion test
261
+ * Raise exception when api-secret is missing in signed-url flow
1
262
 
2
263
  1.9.1 / 2018-03-06
3
264
  ==================
data/README.md CHANGED
@@ -266,6 +266,9 @@ Contact us [https://cloudinary.com/contact](https://cloudinary.com/contact)
266
266
 
267
267
  Stay tuned for updates, tips and tutorials: [Blog](https://cloudinary.com/blog), [Twitter](https://twitter.com/cloudinary), [Facebook](https://www.facebook.com/Cloudinary).
268
268
 
269
+ ## Join the Community ##########################################################
270
+
271
+ Impact the product, hear updates, test drive new features and more! Join [here](https://www.facebook.com/groups/CloudinaryCommunity).
269
272
 
270
273
  ## License #######################################################################
271
274
 
data/Rakefile CHANGED
@@ -1,55 +1,13 @@
1
1
  require 'bundler'
2
2
  require 'fileutils'
3
- require 'tmpdir'
4
- require 'rest_client'
5
- require 'json'
6
- require 'rubygems/package'
7
-
8
3
  require 'rspec/core/rake_task'
4
+
9
5
  RSpec::Core::RakeTask.new(:spec)
10
6
  task :default => :spec
11
7
 
12
8
  Bundler::GemHelper.install_tasks
13
9
 
14
- namespace :cloudinary do
15
- desc "Fetch the latest JavaScript library files and create the JavaScript index files"
16
- task :fetch_assets do
17
- index_files = %w[jquery.ui.widget.js jquery.iframe-transport.js jquery.fileupload.js jquery.cloudinary.js]
18
- processing_files = %w[canvas-to-blob.min.js load-image.all.min.js jquery.fileupload-process.js jquery.fileupload-image.js jquery.fileupload-validate.js]
19
- files = index_files + processing_files
20
-
21
- release = JSON(RestClient.get("https://api.github.com/repos/cloudinary/cloudinary_js/releases/latest"))
22
-
23
- FileUtils.rm_rf 'vendor/assets'
24
- html_folder = 'vendor/assets/html'
25
- FileUtils.mkdir_p html_folder
26
- js_folder = 'vendor/assets/javascripts/cloudinary'
27
- FileUtils.mkdir_p js_folder
28
-
29
- puts "Fetching cloudinary_js version #{release["tag_name"]}\n\n"
30
- sio = StringIO.new(RestClient.get(release["tarball_url"]).body)
31
- file =Zlib::GzipReader.new(sio)
32
- tar = Gem::Package::TarReader.new(file)
33
- tar.each_entry do |entry|
34
- name = File.basename(entry.full_name)
35
- if files.include? name
36
- js_full_name = File.join(js_folder, name)
37
- puts "Adding #{js_full_name}"
38
- File.write js_full_name, entry.read
39
- elsif name == 'cloudinary_cors.html'
40
- html_full_name = File.join(html_folder, name)
41
- puts "Adding #{html_full_name}"
42
- File.write html_full_name, entry.read
43
- end
44
- end
45
- puts "Creating 'index.js' and 'processing.js' files"
46
- File.open("vendor/assets/javascripts/cloudinary/index.js", "w") do |f|
47
- index_files.each { |name| f.puts "//= require ./#{name}" }
48
- end
49
- File.open("vendor/assets/javascripts/cloudinary/processing.js", "w") do |f|
50
- processing_files.each { |name| f.puts "//= require ./#{name}" }
51
- end
52
- end
10
+ path = File.expand_path(__dir__)
11
+ Dir.glob("#{path}/lib/tasks/**/*.rake").each { |f| import f }
53
12
 
54
- end
55
13
  task :build => "cloudinary:fetch_assets"