cloudinary 1.27.0 → 2.3.0

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.
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.27.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nadav Soferman
@@ -10,10 +10,64 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-07-31 00:00:00.000000000 Z
13
+ date: 2025-02-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: aws_cf_signer
16
+ name: faraday
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.1
22
+ - - "<"
23
+ - !ruby/object:Gem::Version
24
+ version: 3.0.0
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 2.0.1
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: 3.0.0
35
+ - !ruby/object:Gem::Dependency
36
+ name: faraday-multipart
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.0'
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 1.0.4
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: '1.0'
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: faraday-follow_redirects
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.3.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.3.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: ostruct
17
71
  requirement: !ruby/object:Gem::Requirement
18
72
  requirements:
19
73
  - - ">="
@@ -27,159 +81,245 @@ dependencies:
27
81
  - !ruby/object:Gem::Version
28
82
  version: '0'
29
83
  - !ruby/object:Gem::Dependency
30
- name: rest-client
84
+ name: rails
31
85
  requirement: !ruby/object:Gem::Requirement
32
86
  requirements:
33
87
  - - ">="
34
88
  - !ruby/object:Gem::Version
35
- version: 2.0.0
36
- type: :runtime
89
+ version: 6.1.7
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: 8.0.0
93
+ type: :development
37
94
  prerelease: false
38
95
  version_requirements: !ruby/object:Gem::Requirement
39
96
  requirements:
40
97
  - - ">="
41
98
  - !ruby/object:Gem::Version
42
- version: 2.0.0
99
+ version: 6.1.7
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: 8.0.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: rexml
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 3.2.5
110
+ - - "<"
111
+ - !ruby/object:Gem::Version
112
+ version: 4.0.0
113
+ type: :development
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 3.2.5
120
+ - - "<"
121
+ - !ruby/object:Gem::Version
122
+ version: 4.0.0
43
123
  - !ruby/object:Gem::Dependency
44
124
  name: actionpack
45
125
  requirement: !ruby/object:Gem::Requirement
46
126
  requirements:
47
127
  - - ">="
48
128
  - !ruby/object:Gem::Version
49
- version: '0'
129
+ version: 6.1.7
130
+ - - "<"
131
+ - !ruby/object:Gem::Version
132
+ version: 8.0.0
50
133
  type: :development
51
134
  prerelease: false
52
135
  version_requirements: !ruby/object:Gem::Requirement
53
136
  requirements:
54
137
  - - ">="
55
138
  - !ruby/object:Gem::Version
56
- version: '0'
139
+ version: 6.1.7
140
+ - - "<"
141
+ - !ruby/object:Gem::Version
142
+ version: 8.0.0
57
143
  - !ruby/object:Gem::Dependency
58
144
  name: nokogiri
59
145
  requirement: !ruby/object:Gem::Requirement
60
146
  requirements:
61
147
  - - ">="
62
148
  - !ruby/object:Gem::Version
63
- version: '0'
149
+ version: 1.12.5
150
+ - - "<"
151
+ - !ruby/object:Gem::Version
152
+ version: 2.0.0
64
153
  type: :development
65
154
  prerelease: false
66
155
  version_requirements: !ruby/object:Gem::Requirement
67
156
  requirements:
68
157
  - - ">="
69
158
  - !ruby/object:Gem::Version
70
- version: '0'
159
+ version: 1.12.5
160
+ - - "<"
161
+ - !ruby/object:Gem::Version
162
+ version: 2.0.0
71
163
  - !ruby/object:Gem::Dependency
72
164
  name: rake
73
165
  requirement: !ruby/object:Gem::Requirement
74
166
  requirements:
75
167
  - - ">="
76
168
  - !ruby/object:Gem::Version
77
- version: 13.0.1
169
+ version: 13.0.6
170
+ - - "<"
171
+ - !ruby/object:Gem::Version
172
+ version: 14.0.0
78
173
  type: :development
79
174
  prerelease: false
80
175
  version_requirements: !ruby/object:Gem::Requirement
81
176
  requirements:
82
177
  - - ">="
83
178
  - !ruby/object:Gem::Version
84
- version: 13.0.1
179
+ version: 13.0.6
180
+ - - "<"
181
+ - !ruby/object:Gem::Version
182
+ version: 14.0.0
85
183
  - !ruby/object:Gem::Dependency
86
184
  name: sqlite3
87
185
  requirement: !ruby/object:Gem::Requirement
88
186
  requirements:
89
187
  - - ">="
90
188
  - !ruby/object:Gem::Version
91
- version: '0'
189
+ version: 1.4.2
190
+ - - "<"
191
+ - !ruby/object:Gem::Version
192
+ version: 2.0.0
92
193
  type: :development
93
194
  prerelease: false
94
195
  version_requirements: !ruby/object:Gem::Requirement
95
196
  requirements:
96
197
  - - ">="
97
198
  - !ruby/object:Gem::Version
98
- version: '0'
199
+ version: 1.4.2
200
+ - - "<"
201
+ - !ruby/object:Gem::Version
202
+ version: 2.0.0
99
203
  - !ruby/object:Gem::Dependency
100
204
  name: rspec
101
205
  requirement: !ruby/object:Gem::Requirement
102
206
  requirements:
103
207
  - - ">="
104
208
  - !ruby/object:Gem::Version
105
- version: '3.5'
209
+ version: 3.11.2
210
+ - - "<"
211
+ - !ruby/object:Gem::Version
212
+ version: 4.0.0
106
213
  type: :development
107
214
  prerelease: false
108
215
  version_requirements: !ruby/object:Gem::Requirement
109
216
  requirements:
110
217
  - - ">="
111
218
  - !ruby/object:Gem::Version
112
- version: '3.5'
219
+ version: 3.11.2
220
+ - - "<"
221
+ - !ruby/object:Gem::Version
222
+ version: 4.0.0
113
223
  - !ruby/object:Gem::Dependency
114
224
  name: rspec-retry
115
225
  requirement: !ruby/object:Gem::Requirement
116
226
  requirements:
117
227
  - - ">="
118
228
  - !ruby/object:Gem::Version
119
- version: '0'
229
+ version: 0.6.2
230
+ - - "<"
231
+ - !ruby/object:Gem::Version
232
+ version: 1.0.0
120
233
  type: :development
121
234
  prerelease: false
122
235
  version_requirements: !ruby/object:Gem::Requirement
123
236
  requirements:
124
237
  - - ">="
125
238
  - !ruby/object:Gem::Version
126
- version: '0'
239
+ version: 0.6.2
240
+ - - "<"
241
+ - !ruby/object:Gem::Version
242
+ version: 1.0.0
127
243
  - !ruby/object:Gem::Dependency
128
- name: rails
244
+ name: railties
129
245
  requirement: !ruby/object:Gem::Requirement
130
246
  requirements:
131
- - - "~>"
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: 6.0.4
250
+ - - "<"
132
251
  - !ruby/object:Gem::Version
133
- version: '5.2'
252
+ version: 8.0.0
134
253
  type: :development
135
254
  prerelease: false
136
255
  version_requirements: !ruby/object:Gem::Requirement
137
256
  requirements:
138
- - - "~>"
257
+ - - ">="
258
+ - !ruby/object:Gem::Version
259
+ version: 6.0.4
260
+ - - "<"
139
261
  - !ruby/object:Gem::Version
140
- version: '5.2'
262
+ version: 8.0.0
141
263
  - !ruby/object:Gem::Dependency
142
264
  name: rspec-rails
143
265
  requirement: !ruby/object:Gem::Requirement
144
266
  requirements:
145
267
  - - ">="
146
268
  - !ruby/object:Gem::Version
147
- version: '0'
269
+ version: 6.0.4
270
+ - - "<"
271
+ - !ruby/object:Gem::Version
272
+ version: 7.0.0
148
273
  type: :development
149
274
  prerelease: false
150
275
  version_requirements: !ruby/object:Gem::Requirement
151
276
  requirements:
152
277
  - - ">="
153
278
  - !ruby/object:Gem::Version
154
- version: '0'
279
+ version: 6.0.4
280
+ - - "<"
281
+ - !ruby/object:Gem::Version
282
+ version: 7.0.0
155
283
  - !ruby/object:Gem::Dependency
156
284
  name: rubyzip
157
285
  requirement: !ruby/object:Gem::Requirement
158
286
  requirements:
159
287
  - - ">="
160
288
  - !ruby/object:Gem::Version
161
- version: '0'
289
+ version: 2.3.0
290
+ - - "<"
291
+ - !ruby/object:Gem::Version
292
+ version: 3.0.0
162
293
  type: :development
163
294
  prerelease: false
164
295
  version_requirements: !ruby/object:Gem::Requirement
165
296
  requirements:
166
297
  - - ">="
167
298
  - !ruby/object:Gem::Version
168
- version: '0'
299
+ version: 2.3.0
300
+ - - "<"
301
+ - !ruby/object:Gem::Version
302
+ version: 3.0.0
169
303
  - !ruby/object:Gem::Dependency
170
304
  name: simplecov
171
305
  requirement: !ruby/object:Gem::Requirement
172
306
  requirements:
173
- - - ">"
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ version: 0.21.2
310
+ - - "<"
174
311
  - !ruby/object:Gem::Version
175
- version: 0.18.0
312
+ version: 1.0.0
176
313
  type: :development
177
314
  prerelease: false
178
315
  version_requirements: !ruby/object:Gem::Requirement
179
316
  requirements:
180
- - - ">"
317
+ - - ">="
181
318
  - !ruby/object:Gem::Version
182
- version: 0.18.0
319
+ version: 0.21.2
320
+ - - "<"
321
+ - !ruby/object:Gem::Version
322
+ version: 1.0.0
183
323
  description: Client library for easily using the Cloudinary service
184
324
  email:
185
325
  - nadav.soferman@cloudinary.com
@@ -206,6 +346,7 @@ files:
206
346
  - lib/cloudinary.rb
207
347
  - lib/cloudinary/account_api.rb
208
348
  - lib/cloudinary/account_config.rb
349
+ - lib/cloudinary/analytics.rb
209
350
  - lib/cloudinary/api.rb
210
351
  - lib/cloudinary/auth_token.rb
211
352
  - lib/cloudinary/base_api.rb
@@ -230,7 +371,6 @@ files:
230
371
  - lib/cloudinary/helper.rb
231
372
  - lib/cloudinary/migrator.rb
232
373
  - lib/cloudinary/missing.rb
233
- - lib/cloudinary/ostruct2.rb
234
374
  - lib/cloudinary/preloaded_file.rb
235
375
  - lib/cloudinary/railtie.rb
236
376
  - lib/cloudinary/responsive.rb
@@ -258,26 +398,27 @@ files:
258
398
  - vendor/assets/javascripts/cloudinary/jquery.ui.widget.js
259
399
  - vendor/assets/javascripts/cloudinary/load-image.all.min.js
260
400
  - vendor/assets/javascripts/cloudinary/processing.js
261
- homepage: http://cloudinary.com
401
+ homepage: https://cloudinary.com
262
402
  licenses:
263
403
  - MIT
264
- metadata: {}
404
+ metadata:
405
+ changelog_uri: https://github.com/cloudinary/cloudinary_gem/blob/master/CHANGELOG.md
265
406
  post_install_message:
266
407
  rdoc_options: []
267
408
  require_paths:
268
409
  - lib
269
410
  required_ruby_version: !ruby/object:Gem::Requirement
270
411
  requirements:
271
- - - ">="
412
+ - - "~>"
272
413
  - !ruby/object:Gem::Version
273
- version: '0'
414
+ version: '3'
274
415
  required_rubygems_version: !ruby/object:Gem::Requirement
275
416
  requirements:
276
417
  - - ">="
277
418
  - !ruby/object:Gem::Version
278
419
  version: '0'
279
420
  requirements: []
280
- rubygems_version: 3.4.12
421
+ rubygems_version: 3.2.3
281
422
  signing_key:
282
423
  specification_version: 4
283
424
  summary: Client library for easily using the Cloudinary service
@@ -1,284 +0,0 @@
1
- #
2
- # = ostruct.rb: OpenStruct implementation
3
- #
4
- # Author:: Yukihiro Matsumoto
5
- # Documentation:: Gavin Sinclair
6
- #
7
- # OpenStruct allows the creation of data objects with arbitrary attributes.
8
- # See OpenStruct for an example.
9
- #
10
-
11
- #
12
- # An OpenStruct is a data structure, similar to a Hash, that allows the
13
- # definition of arbitrary attributes with their accompanying values. This is
14
- # accomplished by using Ruby's metaprogramming to define methods on the class
15
- # itself.
16
- #
17
- # == Examples:
18
- #
19
- # require 'ostruct'
20
- #
21
- # person = OpenStruct.new
22
- # person.name = "John Smith"
23
- # person.age = 70
24
- # person.pension = 300
25
- #
26
- # puts person.name # -> "John Smith"
27
- # puts person.age # -> 70
28
- # puts person.address # -> nil
29
- #
30
- # An OpenStruct employs a Hash internally to store the methods and values and
31
- # can even be initialized with one:
32
- #
33
- # australia = OpenStruct.new(:country => "Australia", :population => 20_000_000)
34
- # p australia # -> <OpenStruct country="Australia" population=20000000>
35
- #
36
- # Hash keys with spaces or characters that would normally not be able to use for
37
- # method calls (e.g. ()[]*) will not be immediately available on the
38
- # OpenStruct object as a method for retrieval or assignment, but can be still be
39
- # reached through the Object#send method.
40
- #
41
- # measurements = OpenStruct.new("length (in inches)" => 24)
42
- # measurements.send("length (in inches)") # -> 24
43
- #
44
- # data_point = OpenStruct.new(:queued? => true)
45
- # data_point.queued? # -> true
46
- # data_point.send("queued?=",false)
47
- # data_point.queued? # -> false
48
- #
49
- # Removing the presence of a method requires the execution the delete_field
50
- # method as setting the property value to +nil+ will not remove the method.
51
- #
52
- # first_pet = OpenStruct.new(:name => 'Rowdy', :owner => 'John Smith')
53
- # first_pet.owner = nil
54
- # second_pet = OpenStruct.new(:name => 'Rowdy')
55
- #
56
- # first_pet == second_pet # -> false
57
- #
58
- # first_pet.delete_field(:owner)
59
- # first_pet == second_pet # -> true
60
- #
61
- #
62
- # == Implementation:
63
- #
64
- # An OpenStruct utilizes Ruby's method lookup structure to and find and define
65
- # the necessary methods for properties. This is accomplished through the method
66
- # method_missing and define_method.
67
- #
68
- # This should be a consideration if there is a concern about the performance of
69
- # the objects that are created, as there is much more overhead in the setting
70
- # of these properties compared to using a Hash or a Struct.
71
- #
72
- class OpenStruct
73
- #
74
- # Creates a new OpenStruct object. By default, the resulting OpenStruct
75
- # object will have no attributes.
76
- #
77
- # The optional +hash+, if given, will generate attributes and values
78
- # (can be a Hash, an OpenStruct or a Struct).
79
- # For example:
80
- #
81
- # require 'ostruct'
82
- # hash = { "country" => "Australia", :population => 20_000_000 }
83
- # data = OpenStruct.new(hash)
84
- #
85
- # p data # -> <OpenStruct country="Australia" population=20000000>
86
- #
87
- def initialize(hash=nil)
88
- @table = {}
89
- if hash
90
- hash.each_pair do |k, v|
91
- k = k.to_sym
92
- @table[k] = v
93
- new_ostruct_member(k)
94
- end
95
- end
96
- end
97
-
98
- # Duplicate an OpenStruct object members.
99
- def initialize_copy(orig)
100
- super
101
- @table = @table.dup
102
- @table.each_key{|key| new_ostruct_member(key)}
103
- end
104
-
105
- #
106
- # Converts the OpenStruct to a hash with keys representing
107
- # each attribute (as symbols) and their corresponding values
108
- # Example:
109
- #
110
- # require 'ostruct'
111
- # data = OpenStruct.new("country" => "Australia", :population => 20_000_000)
112
- # data.to_h # => {:country => "Australia", :population => 20000000 }
113
- #
114
- def to_h
115
- @table.dup
116
- end
117
-
118
- #
119
- # Yields all attributes (as a symbol) along with the corresponding values
120
- # or returns an enumerator if not block is given.
121
- # Example:
122
- #
123
- # require 'ostruct'
124
- # data = OpenStruct.new("country" => "Australia", :population => 20_000_000)
125
- # data.each_pair.to_a # => [[:country, "Australia"], [:population, 20000000]]
126
- #
127
- def each_pair
128
- return to_enum __method__ unless block_given?
129
- @table.each_pair{|p| yield p}
130
- end
131
-
132
- #
133
- # Provides marshalling support for use by the Marshal library.
134
- #
135
- def marshal_dump
136
- @table
137
- end
138
-
139
- #
140
- # Provides marshalling support for use by the Marshal library.
141
- #
142
- def marshal_load(x)
143
- @table = x
144
- @table.each_key{|key| new_ostruct_member(key)}
145
- end
146
-
147
- #
148
- # Used internally to check if the OpenStruct is able to be
149
- # modified before granting access to the internal Hash table to be modified.
150
- #
151
- def modifiable
152
- begin
153
- @modifiable = true
154
- rescue
155
- raise TypeError, "can't modify frozen #{self.class}", caller(3)
156
- end
157
- @table
158
- end
159
- protected :modifiable
160
-
161
- #
162
- # Used internally to defined properties on the
163
- # OpenStruct. It does this by using the metaprogramming function
164
- # define_singleton_method for both the getter method and the setter method.
165
- #
166
- def new_ostruct_member(name)
167
- name = name.to_sym
168
- unless respond_to?(name)
169
- define_singleton_method(name) { @table[name] }
170
- define_singleton_method("#{name}=") { |x| modifiable[name] = x }
171
- end
172
- name
173
- end
174
- protected :new_ostruct_member
175
-
176
- def method_missing(mid, *args) # :nodoc:
177
- mname = mid.id2name
178
- len = args.length
179
- if mname.chomp!('=')
180
- if len != 1
181
- raise ArgumentError, "wrong number of arguments (#{len} for 1)", caller(1)
182
- end
183
- modifiable[new_ostruct_member(mname)] = args[0]
184
- elsif len == 0
185
- @table[mid]
186
- else
187
- raise NoMethodError, "undefined method `#{mid}' for #{self}", caller(1)
188
- end
189
- end
190
-
191
- # Returns the value of a member.
192
- #
193
- # person = OpenStruct.new('name' => 'John Smith', 'age' => 70)
194
- # person[:age] # => 70, same as ostruct.age
195
- #
196
- def [](name)
197
- @table[name.to_sym]
198
- end
199
-
200
- #
201
- # Sets the value of a member.
202
- #
203
- # person = OpenStruct.new('name' => 'John Smith', 'age' => 70)
204
- # person[:age] = 42 # => equivalent to ostruct.age = 42
205
- # person.age # => 42
206
- #
207
- def []=(name, value)
208
- modifiable[new_ostruct_member(name)] = value
209
- end
210
-
211
- #
212
- # Remove the named field from the object. Returns the value that the field
213
- # contained if it was defined.
214
- #
215
- # require 'ostruct'
216
- #
217
- # person = OpenStruct.new('name' => 'John Smith', 'age' => 70)
218
- #
219
- # person.delete_field('name') # => 'John Smith'
220
- #
221
- def delete_field(name)
222
- sym = name.to_sym
223
- singleton_class.__send__(:remove_method, sym, "#{name}=")
224
- @table.delete sym
225
- end
226
-
227
- InspectKey = :__inspect_key__ # :nodoc:
228
-
229
- #
230
- # Returns a string containing a detailed summary of the keys and values.
231
- #
232
- def inspect
233
- str = "#<#{self.class}"
234
-
235
- ids = (Thread.current[InspectKey] ||= [])
236
- if ids.include?(object_id)
237
- return str << ' ...>'
238
- end
239
-
240
- ids << object_id
241
- begin
242
- first = true
243
- for k,v in @table
244
- str << "," unless first
245
- first = false
246
- str << " #{k}=#{v.inspect}"
247
- end
248
- return str << '>'
249
- ensure
250
- ids.pop
251
- end
252
- end
253
- alias :to_s :inspect
254
-
255
- attr_reader :table # :nodoc:
256
- protected :table
257
-
258
- #
259
- # Compares this object and +other+ for equality. An OpenStruct is equal to
260
- # +other+ when +other+ is an OpenStruct and the two objects' Hash tables are
261
- # equal.
262
- #
263
- def ==(other)
264
- return false unless other.kind_of?(OpenStruct)
265
- @table == other.table
266
- end
267
-
268
- #
269
- # Compares this object and +other+ for equality. An OpenStruct is eql? to
270
- # +other+ when +other+ is an OpenStruct and the two objects' Hash tables are
271
- # eql?.
272
- #
273
- def eql?(other)
274
- return false unless other.kind_of?(OpenStruct)
275
- @table.eql?(other.table)
276
- end
277
-
278
- # Compute a hash-code for this OpenStruct.
279
- # Two hashes with the same content will have the same hash code
280
- # (and will be eql?).
281
- def hash
282
- @table.hash
283
- end
284
- end