cloudinary 1.13.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +42 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
  4. data/CHANGELOG.md +61 -0
  5. data/Rakefile +3 -45
  6. data/cloudinary.gemspec +17 -4
  7. data/lib/active_storage/service/cloudinary_service.rb +44 -10
  8. data/lib/cloudinary.rb +22 -18
  9. data/lib/cloudinary/api.rb +3 -2
  10. data/lib/cloudinary/carrier_wave.rb +1 -0
  11. data/lib/cloudinary/carrier_wave/remote.rb +2 -2
  12. data/lib/cloudinary/carrier_wave/storage.rb +2 -1
  13. data/lib/cloudinary/cloudinary_controller.rb +2 -4
  14. data/lib/cloudinary/railtie.rb +7 -3
  15. data/lib/cloudinary/uploader.rb +6 -2
  16. data/lib/cloudinary/utils.rb +13 -10
  17. data/lib/cloudinary/version.rb +1 -1
  18. data/lib/tasks/cloudinary/fetch_assets.rake +48 -0
  19. data/lib/tasks/{cloudinary.rake → cloudinary/sync_static.rake} +0 -0
  20. data/vendor/assets/javascripts/cloudinary/jquery.cloudinary.js +6 -5
  21. metadata +13 -192
  22. data/spec/access_control_spec.rb +0 -102
  23. data/spec/active_storage/Gemfile +0 -12
  24. data/spec/active_storage/application_system_test_case.rb +0 -5
  25. data/spec/active_storage/database/create_users_migration.rb +0 -9
  26. data/spec/active_storage/database/setup.rb +0 -7
  27. data/spec/active_storage/dummy/Rakefile +0 -5
  28. data/spec/active_storage/dummy/app/assets/config/manifest.js +0 -3
  29. data/spec/active_storage/dummy/app/assets/javascripts/application.js +0 -13
  30. data/spec/active_storage/dummy/app/assets/stylesheets/application.css +0 -15
  31. data/spec/active_storage/dummy/app/controllers/application_controller.rb +0 -5
  32. data/spec/active_storage/dummy/app/helpers/application_helper.rb +0 -4
  33. data/spec/active_storage/dummy/app/jobs/application_job.rb +0 -4
  34. data/spec/active_storage/dummy/app/models/application_record.rb +0 -5
  35. data/spec/active_storage/dummy/app/views/layouts/application.html.erb +0 -14
  36. data/spec/active_storage/dummy/bin/bundle +0 -5
  37. data/spec/active_storage/dummy/bin/rails +0 -6
  38. data/spec/active_storage/dummy/bin/rake +0 -6
  39. data/spec/active_storage/dummy/bin/yarn +0 -11
  40. data/spec/active_storage/dummy/config.ru +0 -7
  41. data/spec/active_storage/dummy/config/application.rb +0 -22
  42. data/spec/active_storage/dummy/config/boot.rb +0 -7
  43. data/spec/active_storage/dummy/config/database.yml +0 -25
  44. data/spec/active_storage/dummy/config/environment.rb +0 -7
  45. data/spec/active_storage/dummy/config/environments/development.rb +0 -52
  46. data/spec/active_storage/dummy/config/environments/production.rb +0 -83
  47. data/spec/active_storage/dummy/config/environments/test.rb +0 -38
  48. data/spec/active_storage/dummy/config/initializers/application_controller_renderer.rb +0 -7
  49. data/spec/active_storage/dummy/config/initializers/assets.rb +0 -16
  50. data/spec/active_storage/dummy/config/initializers/backtrace_silencers.rb +0 -8
  51. data/spec/active_storage/dummy/config/initializers/cookies_serializer.rb +0 -7
  52. data/spec/active_storage/dummy/config/initializers/filter_parameter_logging.rb +0 -6
  53. data/spec/active_storage/dummy/config/initializers/inflections.rb +0 -17
  54. data/spec/active_storage/dummy/config/initializers/mime_types.rb +0 -5
  55. data/spec/active_storage/dummy/config/initializers/wrap_parameters.rb +0 -16
  56. data/spec/active_storage/dummy/config/routes.rb +0 -4
  57. data/spec/active_storage/dummy/config/secrets.yml +0 -32
  58. data/spec/active_storage/dummy/config/spring.rb +0 -8
  59. data/spec/active_storage/dummy/config/storage.yml +0 -3
  60. data/spec/active_storage/dummy/config/webpacker.yml +0 -72
  61. data/spec/active_storage/dummy/package.json +0 -5
  62. data/spec/active_storage/dummy/public/404.html +0 -67
  63. data/spec/active_storage/dummy/public/422.html +0 -67
  64. data/spec/active_storage/dummy/public/500.html +0 -66
  65. data/spec/active_storage/dummy/public/apple-touch-icon-precomposed.png +0 -0
  66. data/spec/active_storage/dummy/public/apple-touch-icon.png +0 -0
  67. data/spec/active_storage/dummy/public/favicon.ico +0 -0
  68. data/spec/active_storage/fixtures/files/colors.bmp +0 -0
  69. data/spec/active_storage/fixtures/files/empty_file.txt +0 -0
  70. data/spec/active_storage/fixtures/files/favicon.ico +0 -0
  71. data/spec/active_storage/fixtures/files/icon.psd +0 -0
  72. data/spec/active_storage/fixtures/files/icon.svg +0 -13
  73. data/spec/active_storage/fixtures/files/image.gif +0 -0
  74. data/spec/active_storage/fixtures/files/racecar.jpg +0 -0
  75. data/spec/active_storage/fixtures/files/racecar.tif +0 -0
  76. data/spec/active_storage/fixtures/files/racecar_rotated.jpg +0 -0
  77. data/spec/active_storage/fixtures/files/report.pdf +0 -0
  78. data/spec/active_storage/fixtures/files/rotated_video.mp4 +0 -0
  79. data/spec/active_storage/fixtures/files/video.mp4 +0 -0
  80. data/spec/active_storage/fixtures/files/video_with_rectangular_samples.mp4 +0 -0
  81. data/spec/active_storage/fixtures/files/video_with_undefined_display_aspect_ratio.mp4 +0 -0
  82. data/spec/active_storage/fixtures/files/video_without_video_stream.mp4 +0 -0
  83. data/spec/active_storage/service/cloudinary_service_spec.rb +0 -107
  84. data/spec/active_storage/service/configurations.yml +0 -4
  85. data/spec/active_storage/test_helper.rb +0 -43
  86. data/spec/api_spec.rb +0 -623
  87. data/spec/archive_spec.rb +0 -145
  88. data/spec/auth_token_spec.rb +0 -77
  89. data/spec/cache_spec.rb +0 -109
  90. data/spec/cloudinary_helper_spec.rb +0 -327
  91. data/spec/cloudinary_spec.rb +0 -56
  92. data/spec/data/sync_static/app/assets/javascripts/1.coffee +0 -1
  93. data/spec/data/sync_static/app/assets/javascripts/1.js +0 -1
  94. data/spec/data/sync_static/app/assets/stylesheets/1.css +0 -3
  95. data/spec/docx.docx +0 -0
  96. data/spec/favicon.ico +0 -0
  97. data/spec/image_spec.rb +0 -107
  98. data/spec/logo.png +0 -0
  99. data/spec/movie.mp4 +0 -0
  100. data/spec/rake_spec.rb +0 -160
  101. data/spec/sample_asset_file.tsv +0 -4
  102. data/spec/search_spec.rb +0 -109
  103. data/spec/spec_helper.rb +0 -273
  104. data/spec/storage_spec.rb +0 -44
  105. data/spec/streaminig_profiles_api_spec.rb +0 -74
  106. data/spec/support/helpers/temp_file_helpers.rb +0 -22
  107. data/spec/support/shared_contexts/rake.rb +0 -19
  108. data/spec/uploader_spec.rb +0 -409
  109. data/spec/utils_methods_spec.rb +0 -81
  110. data/spec/utils_spec.rb +0 -1052
  111. data/spec/video_tag_spec.rb +0 -253
  112. data/spec/video_url_spec.rb +0 -185
@@ -9,6 +9,7 @@ module Cloudinary::CarrierWave
9
9
 
10
10
  def self.included(base)
11
11
  base.storage Cloudinary::CarrierWave::Storage
12
+ base.cache_storage = :file if base.cache_storage.blank?
12
13
  base.extend ClassMethods
13
14
  base.class_attribute :metadata
14
15
  base.class_attribute :storage_type, instance_reader: false
@@ -1,10 +1,10 @@
1
1
  module Cloudinary::CarrierWave
2
2
  def download!(uri, *args)
3
- return super if !self.cloudinary_should_handle_remote?
3
+ return super unless self.cloudinary_should_handle_remote?
4
4
  if respond_to?(:process_uri)
5
5
  uri = process_uri(uri)
6
6
  else # Backward compatibility with old CarrierWave
7
- uri = URI.parse(URI.escape(URI.unescape(uri)))
7
+ uri = URI.parse(Cloudinary::Utils.smart_escape(Cloudinary::Utils.smart_unescape(uri)))
8
8
  end
9
9
  return if uri.to_s.blank?
10
10
  self.original_filename = @cache_id = @filename = File.basename(uri.path).gsub(/[^a-zA-Z0-9\.\-\+_]/, '')
@@ -1,7 +1,8 @@
1
1
  class Cloudinary::CarrierWave::Storage < ::CarrierWave::Storage::Abstract
2
2
 
3
3
  def store!(file)
4
- return if !uploader.enable_processing
4
+ return unless uploader.enable_processing
5
+
5
6
  if uploader.is_main_uploader?
6
7
  case file
7
8
  when Cloudinary::CarrierWave::PreloadedCloudinaryFile
@@ -1,13 +1,11 @@
1
1
  module Cloudinary::CloudinaryController
2
2
  protected
3
-
3
+
4
4
  def valid_cloudinary_response?
5
5
  received_signature = request.query_parameters[:signature]
6
6
  calculated_signature = Cloudinary::Utils.api_sign_request(
7
7
  request.query_parameters.select{|key, value| [:public_id, :version].include?(key.to_sym)},
8
8
  Cloudinary.config.api_secret)
9
9
  return received_signature == calculated_signature
10
- end
10
+ end
11
11
  end
12
-
13
- ActionController::Base.send :include, Cloudinary::CloudinaryController
@@ -1,8 +1,12 @@
1
1
  class Cloudinary::Railtie < Rails::Railtie
2
2
  rake_tasks do
3
- Dir[File.join(File.dirname(__FILE__),'../tasks/*.rake')].each { |f| load f }
4
- end
3
+ Dir[File.join(File.dirname(__FILE__),'../tasks/**/*.rake')].each { |f| load f }
4
+ end
5
5
  config.after_initialize do |app|
6
6
  ActionView::Base.send :include, CloudinaryHelper
7
7
  end
8
- end
8
+
9
+ ActiveSupport.on_load(:action_controller_base) do
10
+ ActionController::Base.send :include, Cloudinary::CloudinaryController
11
+ end
12
+ end
@@ -64,6 +64,7 @@ class Cloudinary::Uploader
64
64
  :unique_filename => Cloudinary::Utils.as_safe_bool(options[:unique_filename]),
65
65
  :upload_preset => options[:upload_preset],
66
66
  :use_filename => Cloudinary::Utils.as_safe_bool(options[:use_filename]),
67
+ :accessibility_analysis => Cloudinary::Utils.as_safe_bool(options[:accessibility_analysis])
67
68
  }
68
69
  params
69
70
  end
@@ -77,6 +78,9 @@ class Cloudinary::Uploader
77
78
  params = build_upload_params(options)
78
79
  if file.is_a?(Pathname)
79
80
  params[:file] = File.open(file, "rb")
81
+ elsif file.is_a?(StringIO)
82
+ file.rewind
83
+ params[:file] = Cloudinary::Blob.new(file.read, options)
80
84
  elsif file.respond_to?(:read) || Cloudinary::Utils.is_remote?(file)
81
85
  params[:file] = file
82
86
  else
@@ -248,7 +252,7 @@ class Cloudinary::Uploader
248
252
  end
249
253
  end
250
254
 
251
- # options may include 'exclusive' (boolean) which causes clearing this tag from all other resources
255
+ # options may include 'exclusive' (boolean) which causes clearing this tag from all other resources
252
256
  def self.add_tag(tag, public_ids = [], options = {})
253
257
  exclusive = options.delete(:exclusive)
254
258
  command = exclusive ? "set_exclusive" : "add"
@@ -317,7 +321,7 @@ class Cloudinary::Uploader
317
321
  params[:signature] = Cloudinary::Utils.api_sign_request(params.reject { |k, v| non_signable.include?(k) }, api_secret)
318
322
  params[:api_key] = api_key
319
323
  end
320
- timeout = options[:timeout] || Cloudinary.config.timeout || 60
324
+ timeout = options.fetch(:timeout) { Cloudinary.config.to_h.fetch(:timeout, 60) }
321
325
 
322
326
  result = nil
323
327
 
@@ -42,6 +42,8 @@ class Cloudinary::Utils
42
42
  "page_x" => "px",
43
43
  "page_y" => "py",
44
44
  "tags" => "tags",
45
+ "initial_duration" => "idu",
46
+ "duration" => "du",
45
47
  "width" => "w"
46
48
  }
47
49
 
@@ -300,15 +302,11 @@ class Cloudinary::Utils
300
302
  # Translates the condition if provided.
301
303
  # @return [string] "if_" + ifValue
302
304
  # @private
303
- def self.process_if(ifValue)
304
- if ifValue
305
- ifValue = normalize_expression(ifValue)
306
-
307
- ifValue = "if_" + ifValue
308
- end
305
+ def self.process_if(if_value)
306
+ "if_" + normalize_expression(if_value) unless if_value.to_s.empty?
309
307
  end
310
308
 
311
- EXP_REGEXP = Regexp.new(PREDEFINED_VARS.keys.join("|")+'|('+CONDITIONAL_OPERATORS.keys.reverse.map { |k| Regexp.escape(k) }.join('|')+')(?=[ _])')
309
+ EXP_REGEXP = Regexp.new('(?<!\$)('+PREDEFINED_VARS.keys.join("|")+')'+'|('+CONDITIONAL_OPERATORS.keys.reverse.map { |k| Regexp.escape(k) }.join('|')+')(?=[ _])')
312
310
  EXP_REPLACEMENT = PREDEFINED_VARS.merge(CONDITIONAL_OPERATORS)
313
311
 
314
312
  def self.normalize_expression(expression)
@@ -563,7 +561,7 @@ class Cloudinary::Utils
563
561
  source = smart_escape(source)
564
562
  source_to_sign = source
565
563
  else
566
- source = smart_escape(URI.decode(source))
564
+ source = smart_escape(smart_unescape(source))
567
565
  source_to_sign = source
568
566
  unless url_suffix.blank?
569
567
  raise(CloudinaryException, "url_suffix should not include . or /") if url_suffix.match(%r([\./]))
@@ -767,13 +765,18 @@ class Cloudinary::Utils
767
765
  "#{public_id}#{ext}"
768
766
  end
769
767
 
770
- # Based on CGI::unescape. In addition does not escape / :
768
+ # Based on CGI::escape. In addition does not escape / :
771
769
  def self.smart_escape(string, unsafe = /([^a-zA-Z0-9_.\-\/:]+)/)
772
770
  string.gsub(unsafe) do |m|
773
771
  '%' + m.unpack('H2' * m.bytesize).join('%').upcase
774
772
  end
775
773
  end
776
774
 
775
+ # Based on CGI::unescape. In addition keeps '+' character as is
776
+ def self.smart_unescape(string)
777
+ CGI.unescape(string.sub('+', '%2B'))
778
+ end
779
+
777
780
  def self.random_public_id
778
781
  sr = defined?(ActiveSupport::SecureRandom) ? ActiveSupport::SecureRandom : SecureRandom
779
782
  sr.base64(20).downcase.gsub(/[^a-z0-9]/, "").sub(/^[0-9]+/, '')[0,20]
@@ -880,7 +883,7 @@ class Cloudinary::Utils
880
883
  when String then value.downcase == "true" || value == "1"
881
884
  when TrueClass then true
882
885
  when FalseClass then false
883
- when Fixnum then value != 0
886
+ when Integer then value != 0
884
887
  when Symbol then value == :true
885
888
  else
886
889
  raise "Invalid boolean value #{value} of type #{value.class}"
@@ -1,4 +1,4 @@
1
1
  # Copyright Cloudinary
2
2
  module Cloudinary
3
- VERSION = "1.13.0"
3
+ VERSION = "1.16.0"
4
4
  end
@@ -0,0 +1,48 @@
1
+ require 'tmpdir'
2
+ require 'rest_client'
3
+ require 'json'
4
+ require 'rubygems/package'
5
+
6
+ unless Rake::Task.task_defined?('cloudinary:fetch_assets') # prevent double-loading/execution
7
+ namespace :cloudinary do
8
+ desc "Fetch the latest JavaScript library files and create the JavaScript index files"
9
+ task :fetch_assets do
10
+ index_files = %w[jquery.ui.widget.js jquery.iframe-transport.js jquery.fileupload.js jquery.cloudinary.js]
11
+ 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]
12
+ files = index_files + processing_files
13
+
14
+ release = JSON(RestClient.get("https://api.github.com/repos/cloudinary/cloudinary_js/releases/latest"))
15
+
16
+ FileUtils.rm_rf 'vendor/assets'
17
+ html_folder = 'vendor/assets/html'
18
+ FileUtils.mkdir_p html_folder
19
+ js_folder = 'vendor/assets/javascripts/cloudinary'
20
+ FileUtils.mkdir_p js_folder
21
+
22
+ puts "Fetching cloudinary_js version #{release["tag_name"]}\n\n"
23
+ sio = StringIO.new(RestClient.get(release["tarball_url"]).body)
24
+ file = Zlib::GzipReader.new(sio)
25
+ tar = Gem::Package::TarReader.new(file)
26
+ tar.each_entry do |entry|
27
+ name = File.basename(entry.full_name)
28
+ if files.include? name
29
+ js_full_name = File.join(js_folder, name)
30
+ puts "Adding #{js_full_name}"
31
+ File.write js_full_name, entry.read
32
+ elsif name == 'cloudinary_cors.html'
33
+ html_full_name = File.join(html_folder, name)
34
+ puts "Adding #{html_full_name}"
35
+ File.write html_full_name, entry.read
36
+ end
37
+ end
38
+ puts "Creating 'index.js' and 'processing.js' files"
39
+ File.open("vendor/assets/javascripts/cloudinary/index.js", "w") do |f|
40
+ index_files.each { |name| f.puts "//= require ./#{name}" }
41
+ end
42
+ File.open("vendor/assets/javascripts/cloudinary/processing.js", "w") do |f|
43
+ processing_files.each { |name| f.puts "//= require ./#{name}" }
44
+ end
45
+ end
46
+
47
+ end
48
+ end
@@ -164,7 +164,7 @@ var slice = [].slice,
164
164
  * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
165
165
  * @example
166
166
  *
167
- * function Foo(){};
167
+ * function Foo(){};
168
168
  * isFunction(Foo);
169
169
  * // => true
170
170
  *
@@ -1403,7 +1403,8 @@ var slice = [].slice,
1403
1403
  "*": "mul",
1404
1404
  "/": "div",
1405
1405
  "+": "add",
1406
- "-": "sub"
1406
+ "-": "sub",
1407
+ "^": "pow",
1407
1408
  };
1408
1409
 
1409
1410
 
@@ -1486,8 +1487,8 @@ var slice = [].slice,
1486
1487
  return expression;
1487
1488
  }
1488
1489
  expression = String(expression);
1489
- operators = "\\|\\||>=|<=|&&|!=|>|=|<|/|-|\\+|\\*";
1490
- pattern = "((" + operators + ")(?=[ _])|" + Object.keys(Expression.PREDEFINED_VARS).join("|") + ")";
1490
+ operators = "\\|\\||>=|<=|&&|!=|>|=|<|/|-|\\+|\\*|\\^";
1491
+ pattern = "((" + operators + ")(?=[ _])|(?<!\$)(" + Object.keys(Expression.PREDEFINED_VARS).join("|") + "))";
1491
1492
  replaceRE = new RegExp(pattern, "g");
1492
1493
  expression = expression.replace(replaceRE, function(match) {
1493
1494
  return Expression.OPERATORS[match] || Expression.PREDEFINED_VARS[match];
@@ -3070,7 +3071,7 @@ var slice = [].slice,
3070
3071
  * @protected
3071
3072
  * @param {string} key - attribute name
3072
3073
  * @param {*|boolean} value - the value of the attribute. If the value is boolean `true`, return the key only.
3073
- * @returns {string} the attribute
3074
+ * @returns {string} the attribute
3074
3075
  *
3075
3076
  */
3076
3077
 
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.13.0
4
+ version: 1.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nadav Soferman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-11-14 00:00:00.000000000 Z
13
+ date: 2020-06-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: aws_cf_signer
@@ -74,14 +74,14 @@ dependencies:
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: 13.0.1
78
78
  type: :development
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: 13.0.1
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: sqlite3
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -156,16 +156,16 @@ dependencies:
156
156
  name: simplecov
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - ">="
159
+ - - ">"
160
160
  - !ruby/object:Gem::Version
161
- version: '0'
161
+ version: 0.18.0
162
162
  type: :development
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
- - - ">="
166
+ - - ">"
167
167
  - !ruby/object:Gem::Version
168
- version: '0'
168
+ version: 0.18.0
169
169
  description: Client library for easily using the Cloudinary service
170
170
  email:
171
171
  - nadav.soferman@cloudinary.com
@@ -175,6 +175,8 @@ executables: []
175
175
  extensions: []
176
176
  extra_rdoc_files: []
177
177
  files:
178
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
179
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
178
180
  - ".gitignore"
179
181
  - ".rspec"
180
182
  - ".travis.yml"
@@ -218,98 +220,8 @@ files:
218
220
  - lib/cloudinary/utils.rb
219
221
  - lib/cloudinary/version.rb
220
222
  - lib/cloudinary/video_helper.rb
221
- - lib/tasks/cloudinary.rake
222
- - spec/access_control_spec.rb
223
- - spec/active_storage/Gemfile
224
- - spec/active_storage/application_system_test_case.rb
225
- - spec/active_storage/database/create_users_migration.rb
226
- - spec/active_storage/database/setup.rb
227
- - spec/active_storage/dummy/Rakefile
228
- - spec/active_storage/dummy/app/assets/config/manifest.js
229
- - spec/active_storage/dummy/app/assets/javascripts/application.js
230
- - spec/active_storage/dummy/app/assets/stylesheets/application.css
231
- - spec/active_storage/dummy/app/controllers/application_controller.rb
232
- - spec/active_storage/dummy/app/helpers/application_helper.rb
233
- - spec/active_storage/dummy/app/jobs/application_job.rb
234
- - spec/active_storage/dummy/app/models/application_record.rb
235
- - spec/active_storage/dummy/app/views/layouts/application.html.erb
236
- - spec/active_storage/dummy/bin/bundle
237
- - spec/active_storage/dummy/bin/rails
238
- - spec/active_storage/dummy/bin/rake
239
- - spec/active_storage/dummy/bin/yarn
240
- - spec/active_storage/dummy/config.ru
241
- - spec/active_storage/dummy/config/application.rb
242
- - spec/active_storage/dummy/config/boot.rb
243
- - spec/active_storage/dummy/config/database.yml
244
- - spec/active_storage/dummy/config/environment.rb
245
- - spec/active_storage/dummy/config/environments/development.rb
246
- - spec/active_storage/dummy/config/environments/production.rb
247
- - spec/active_storage/dummy/config/environments/test.rb
248
- - spec/active_storage/dummy/config/initializers/application_controller_renderer.rb
249
- - spec/active_storage/dummy/config/initializers/assets.rb
250
- - spec/active_storage/dummy/config/initializers/backtrace_silencers.rb
251
- - spec/active_storage/dummy/config/initializers/cookies_serializer.rb
252
- - spec/active_storage/dummy/config/initializers/filter_parameter_logging.rb
253
- - spec/active_storage/dummy/config/initializers/inflections.rb
254
- - spec/active_storage/dummy/config/initializers/mime_types.rb
255
- - spec/active_storage/dummy/config/initializers/wrap_parameters.rb
256
- - spec/active_storage/dummy/config/routes.rb
257
- - spec/active_storage/dummy/config/secrets.yml
258
- - spec/active_storage/dummy/config/spring.rb
259
- - spec/active_storage/dummy/config/storage.yml
260
- - spec/active_storage/dummy/config/webpacker.yml
261
- - spec/active_storage/dummy/package.json
262
- - spec/active_storage/dummy/public/404.html
263
- - spec/active_storage/dummy/public/422.html
264
- - spec/active_storage/dummy/public/500.html
265
- - spec/active_storage/dummy/public/apple-touch-icon-precomposed.png
266
- - spec/active_storage/dummy/public/apple-touch-icon.png
267
- - spec/active_storage/dummy/public/favicon.ico
268
- - spec/active_storage/fixtures/files/colors.bmp
269
- - spec/active_storage/fixtures/files/empty_file.txt
270
- - spec/active_storage/fixtures/files/favicon.ico
271
- - spec/active_storage/fixtures/files/icon.psd
272
- - spec/active_storage/fixtures/files/icon.svg
273
- - spec/active_storage/fixtures/files/image.gif
274
- - spec/active_storage/fixtures/files/racecar.jpg
275
- - spec/active_storage/fixtures/files/racecar.tif
276
- - spec/active_storage/fixtures/files/racecar_rotated.jpg
277
- - spec/active_storage/fixtures/files/report.pdf
278
- - spec/active_storage/fixtures/files/rotated_video.mp4
279
- - spec/active_storage/fixtures/files/video.mp4
280
- - spec/active_storage/fixtures/files/video_with_rectangular_samples.mp4
281
- - spec/active_storage/fixtures/files/video_with_undefined_display_aspect_ratio.mp4
282
- - spec/active_storage/fixtures/files/video_without_video_stream.mp4
283
- - spec/active_storage/service/cloudinary_service_spec.rb
284
- - spec/active_storage/service/configurations.yml
285
- - spec/active_storage/test_helper.rb
286
- - spec/api_spec.rb
287
- - spec/archive_spec.rb
288
- - spec/auth_token_spec.rb
289
- - spec/cache_spec.rb
290
- - spec/cloudinary_helper_spec.rb
291
- - spec/cloudinary_spec.rb
292
- - spec/data/sync_static/app/assets/javascripts/1.coffee
293
- - spec/data/sync_static/app/assets/javascripts/1.js
294
- - spec/data/sync_static/app/assets/stylesheets/1.css
295
- - spec/docx.docx
296
- - spec/favicon.ico
297
- - spec/image_spec.rb
298
- - spec/logo.png
299
- - spec/movie.mp4
300
- - spec/rake_spec.rb
301
- - spec/sample_asset_file.tsv
302
- - spec/search_spec.rb
303
- - spec/spec_helper.rb
304
- - spec/storage_spec.rb
305
- - spec/streaminig_profiles_api_spec.rb
306
- - spec/support/helpers/temp_file_helpers.rb
307
- - spec/support/shared_contexts/rake.rb
308
- - spec/uploader_spec.rb
309
- - spec/utils_methods_spec.rb
310
- - spec/utils_spec.rb
311
- - spec/video_tag_spec.rb
312
- - spec/video_url_spec.rb
223
+ - lib/tasks/cloudinary/fetch_assets.rake
224
+ - lib/tasks/cloudinary/sync_static.rake
313
225
  - tools/update_version
314
226
  - vendor/assets/html/cloudinary_cors.html
315
227
  - vendor/assets/javascripts/cloudinary/canvas-to-blob.min.js
@@ -346,95 +258,4 @@ rubygems_version: 3.0.6
346
258
  signing_key:
347
259
  specification_version: 4
348
260
  summary: Client library for easily using the Cloudinary service
349
- test_files:
350
- - spec/access_control_spec.rb
351
- - spec/active_storage/Gemfile
352
- - spec/active_storage/application_system_test_case.rb
353
- - spec/active_storage/database/create_users_migration.rb
354
- - spec/active_storage/database/setup.rb
355
- - spec/active_storage/dummy/Rakefile
356
- - spec/active_storage/dummy/app/assets/config/manifest.js
357
- - spec/active_storage/dummy/app/assets/javascripts/application.js
358
- - spec/active_storage/dummy/app/assets/stylesheets/application.css
359
- - spec/active_storage/dummy/app/controllers/application_controller.rb
360
- - spec/active_storage/dummy/app/helpers/application_helper.rb
361
- - spec/active_storage/dummy/app/jobs/application_job.rb
362
- - spec/active_storage/dummy/app/models/application_record.rb
363
- - spec/active_storage/dummy/app/views/layouts/application.html.erb
364
- - spec/active_storage/dummy/bin/bundle
365
- - spec/active_storage/dummy/bin/rails
366
- - spec/active_storage/dummy/bin/rake
367
- - spec/active_storage/dummy/bin/yarn
368
- - spec/active_storage/dummy/config.ru
369
- - spec/active_storage/dummy/config/application.rb
370
- - spec/active_storage/dummy/config/boot.rb
371
- - spec/active_storage/dummy/config/database.yml
372
- - spec/active_storage/dummy/config/environment.rb
373
- - spec/active_storage/dummy/config/environments/development.rb
374
- - spec/active_storage/dummy/config/environments/production.rb
375
- - spec/active_storage/dummy/config/environments/test.rb
376
- - spec/active_storage/dummy/config/initializers/application_controller_renderer.rb
377
- - spec/active_storage/dummy/config/initializers/assets.rb
378
- - spec/active_storage/dummy/config/initializers/backtrace_silencers.rb
379
- - spec/active_storage/dummy/config/initializers/cookies_serializer.rb
380
- - spec/active_storage/dummy/config/initializers/filter_parameter_logging.rb
381
- - spec/active_storage/dummy/config/initializers/inflections.rb
382
- - spec/active_storage/dummy/config/initializers/mime_types.rb
383
- - spec/active_storage/dummy/config/initializers/wrap_parameters.rb
384
- - spec/active_storage/dummy/config/routes.rb
385
- - spec/active_storage/dummy/config/secrets.yml
386
- - spec/active_storage/dummy/config/spring.rb
387
- - spec/active_storage/dummy/config/storage.yml
388
- - spec/active_storage/dummy/config/webpacker.yml
389
- - spec/active_storage/dummy/package.json
390
- - spec/active_storage/dummy/public/404.html
391
- - spec/active_storage/dummy/public/422.html
392
- - spec/active_storage/dummy/public/500.html
393
- - spec/active_storage/dummy/public/apple-touch-icon-precomposed.png
394
- - spec/active_storage/dummy/public/apple-touch-icon.png
395
- - spec/active_storage/dummy/public/favicon.ico
396
- - spec/active_storage/fixtures/files/colors.bmp
397
- - spec/active_storage/fixtures/files/empty_file.txt
398
- - spec/active_storage/fixtures/files/favicon.ico
399
- - spec/active_storage/fixtures/files/icon.psd
400
- - spec/active_storage/fixtures/files/icon.svg
401
- - spec/active_storage/fixtures/files/image.gif
402
- - spec/active_storage/fixtures/files/racecar.jpg
403
- - spec/active_storage/fixtures/files/racecar.tif
404
- - spec/active_storage/fixtures/files/racecar_rotated.jpg
405
- - spec/active_storage/fixtures/files/report.pdf
406
- - spec/active_storage/fixtures/files/rotated_video.mp4
407
- - spec/active_storage/fixtures/files/video.mp4
408
- - spec/active_storage/fixtures/files/video_with_rectangular_samples.mp4
409
- - spec/active_storage/fixtures/files/video_with_undefined_display_aspect_ratio.mp4
410
- - spec/active_storage/fixtures/files/video_without_video_stream.mp4
411
- - spec/active_storage/service/cloudinary_service_spec.rb
412
- - spec/active_storage/service/configurations.yml
413
- - spec/active_storage/test_helper.rb
414
- - spec/api_spec.rb
415
- - spec/archive_spec.rb
416
- - spec/auth_token_spec.rb
417
- - spec/cache_spec.rb
418
- - spec/cloudinary_helper_spec.rb
419
- - spec/cloudinary_spec.rb
420
- - spec/data/sync_static/app/assets/javascripts/1.coffee
421
- - spec/data/sync_static/app/assets/javascripts/1.js
422
- - spec/data/sync_static/app/assets/stylesheets/1.css
423
- - spec/docx.docx
424
- - spec/favicon.ico
425
- - spec/image_spec.rb
426
- - spec/logo.png
427
- - spec/movie.mp4
428
- - spec/rake_spec.rb
429
- - spec/sample_asset_file.tsv
430
- - spec/search_spec.rb
431
- - spec/spec_helper.rb
432
- - spec/storage_spec.rb
433
- - spec/streaminig_profiles_api_spec.rb
434
- - spec/support/helpers/temp_file_helpers.rb
435
- - spec/support/shared_contexts/rake.rb
436
- - spec/uploader_spec.rb
437
- - spec/utils_methods_spec.rb
438
- - spec/utils_spec.rb
439
- - spec/video_tag_spec.rb
440
- - spec/video_url_spec.rb
261
+ test_files: []