imagekitio 4.9.0 → 4.10.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0425b66fb8987f249e1e4157d7fd10b1566c58991a8cb87e981f60a3538de16
4
- data.tar.gz: df52e7f1f8d6cfafee7c2e214147a32f7f6cbb715255e6c9220ad8cffd015a11
3
+ metadata.gz: 3c30ed9b6589210d2b0d5c5cac947cdc09a678c5974b4751287991c9c17c3078
4
+ data.tar.gz: 49416c6585634a0925a298524cf57ec20043c2acd42b37b8de792a70f4d1f2b4
5
5
  SHA512:
6
- metadata.gz: 29ac74104d1e46f88b0b641833da899ff84bc4c1da4d51b0136a61add69d21c21792a9ef968f10ef6adb7f55e7f6ea31c2048412d06c4b4b391b87e84f8dadce
7
- data.tar.gz: d4909caff4e5459175ef690f70ccf9a28ec50967199a8b713a510e4314891c120b38b862788b06535b8855a95c8d2b924f13fcaaaba1aed47ce3fee532c681b1
6
+ metadata.gz: 2b7ffb1d472b479d128ae5eab7983c7ebdf24e7197dcaa7fa8a95c6015069fe08472b3f7e8378ae8071d442d66bd34884504a7c6388ec00facc9f4ef39b879cf
7
+ data.tar.gz: 889a5b70b8537fef0a4cce92d97be64c7467bcb58d1d9c35b8d03bb337a756423d207a1a70ae112cca591c007ce55bee1730c2704c21ba31e55c3c6b8802fa31
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.10.0](https://github.com/imagekit-developer/imagekit-ruby/compare/v4.9.0...v4.10.0) (2026-09-16)
4
+
5
+
6
+ ### Features
7
+
8
+ * serialize density as dn in SDK URL builders ([7815ad6](https://github.com/imagekit-developer/imagekit-ruby/commit/7815ad6897fc4ed6bd943443a87aede62ed354d9))
9
+
3
10
  ## [4.9.0](https://github.com/imagekit-developer/imagekit-ruby/compare/v4.8.0...v4.9.0) (2026-08-15)
4
11
 
5
12
 
data/README.md CHANGED
@@ -46,7 +46,7 @@ To use this gem, install via Bundler by adding the following to your application
46
46
  <!-- x-release-please-start-version -->
47
47
 
48
48
  ```ruby
49
- gem "imagekitio", "~> 4.9.0"
49
+ gem "imagekitio", "~> 4.10.0"
50
50
  ```
51
51
 
52
52
  <!-- x-release-please-end -->
@@ -93,6 +93,7 @@ module Imagekitio
93
93
  "color_profile" => "cp",
94
94
  "colorProfile" => "cp",
95
95
  "metadata" => "md",
96
+ "density" => "dn",
96
97
  "opacity" => "o",
97
98
  "trim" => "t",
98
99
  "zoom" => "z",
@@ -131,6 +131,10 @@ module Imagekitio
131
131
  DESC_SIZE = :DESC_SIZE
132
132
  ASC_RELEVANCE = :ASC_RELEVANCE
133
133
  DESC_RELEVANCE = :DESC_RELEVANCE
134
+ ASC_DURATION = :ASC_DURATION
135
+ DESC_DURATION = :DESC_DURATION
136
+ ASC_ORIGINAL_CREATION_DATE = :ASC_ORIGINAL_CREATION_DATE
137
+ DESC_ORIGINAL_CREATION_DATE = :DESC_ORIGINAL_CREATION_DATE
134
138
 
135
139
  # @!method self.values
136
140
  # @return [Array<Symbol>]
@@ -39,7 +39,14 @@ module Imagekitio
39
39
  # @return [String, nil]
40
40
  optional :description, String
41
41
 
42
- # @!method initialize(id:, label:, name:, schema:, description: nil)
42
+ # @!attribute reserved
43
+ # Present and set to `true` when the field is reserved. Omitted for regular
44
+ # fields. Reserved fields cannot be deleted.
45
+ #
46
+ # @return [Boolean, nil]
47
+ optional :reserved, Imagekitio::Internal::Type::Boolean
48
+
49
+ # @!method initialize(id:, label:, name:, schema:, description: nil, reserved: nil)
43
50
  # Some parameter documentations has been truncated, see
44
51
  # {Imagekitio::Models::CustomMetadataField} for more details.
45
52
  #
@@ -54,6 +61,8 @@ module Imagekitio
54
61
  # @param schema [Imagekitio::Models::CustomMetadataField::Schema] An object that describes the rules for the custom metadata field value.
55
62
  #
56
63
  # @param description [String] Optional description of the custom metadata field. Only present when a descripti
64
+ #
65
+ # @param reserved [Boolean] Present and set to `true` when the field is reserved. Omitted for regular fields
57
66
 
58
67
  # @see Imagekitio::Models::CustomMetadataField#schema
59
68
  class Schema < Imagekitio::Internal::Type::BaseModel
@@ -201,6 +201,17 @@ module Imagekitio
201
201
  # @return [String, nil]
202
202
  optional :default_image, String, api_name: :defaultImage
203
203
 
204
+ # @!attribute density
205
+ # Sets the output image density in dots per inch (DPI). Accepts an integer from 1
206
+ # to 1200 or an arithmetic expression using the `idn` variable, such as
207
+ # `idn_mul_2`. For raster images, this updates density metadata without changing
208
+ # dimensions. For vector images, it controls the DPI used during rasterization.
209
+ # Cannot be used inside layers. See
210
+ # [Density](https://imagekit.io/docs/image-optimization#density---dn).
211
+ #
212
+ # @return [Integer, String, nil]
213
+ optional :density, union: -> { Imagekitio::Transformation::Density }
214
+
204
215
  # @!attribute distort
205
216
  # Distorts the shape of an image. Supports two modes:
206
217
  #
@@ -510,7 +521,7 @@ module Imagekitio
510
521
  # @return [Float, nil]
511
522
  optional :zoom, Float
512
523
 
513
- # @!method initialize(ai_change_background: nil, ai_drop_shadow: nil, ai_edit: nil, ai_remove_background: nil, ai_remove_background_external: nil, ai_retouch: nil, ai_upscale: nil, ai_variation: nil, aspect_ratio: nil, audio_codec: nil, background: nil, blur: nil, border: nil, colorize: nil, color_profile: nil, color_replace: nil, contrast_stretch: nil, crop: nil, crop_mode: nil, default_image: nil, distort: nil, dpr: nil, duration: nil, end_offset: nil, flip: nil, focus: nil, format_: nil, gradient: nil, grayscale: nil, height: nil, lossless: nil, metadata: nil, named: nil, opacity: nil, original: nil, overlay: nil, page: nil, progressive: nil, quality: nil, radius: nil, raw: nil, rotation: nil, shadow: nil, sharpen: nil, start_offset: nil, streaming_resolutions: nil, trim: nil, unsharp_mask: nil, video_codec: nil, width: nil, x: nil, x_center: nil, y_: nil, y_center: nil, zoom: nil)
524
+ # @!method initialize(ai_change_background: nil, ai_drop_shadow: nil, ai_edit: nil, ai_remove_background: nil, ai_remove_background_external: nil, ai_retouch: nil, ai_upscale: nil, ai_variation: nil, aspect_ratio: nil, audio_codec: nil, background: nil, blur: nil, border: nil, colorize: nil, color_profile: nil, color_replace: nil, contrast_stretch: nil, crop: nil, crop_mode: nil, default_image: nil, density: nil, distort: nil, dpr: nil, duration: nil, end_offset: nil, flip: nil, focus: nil, format_: nil, gradient: nil, grayscale: nil, height: nil, lossless: nil, metadata: nil, named: nil, opacity: nil, original: nil, overlay: nil, page: nil, progressive: nil, quality: nil, radius: nil, raw: nil, rotation: nil, shadow: nil, sharpen: nil, start_offset: nil, streaming_resolutions: nil, trim: nil, unsharp_mask: nil, video_codec: nil, width: nil, x: nil, x_center: nil, y_: nil, y_center: nil, zoom: nil)
514
525
  # Some parameter documentations has been truncated, see
515
526
  # {Imagekitio::Models::Transformation} for more details.
516
527
  #
@@ -561,6 +572,8 @@ module Imagekitio
561
572
  #
562
573
  # @param default_image [String] Specifies a fallback image if the resource is not found, e.g., a URL or file pat
563
574
  #
575
+ # @param density [Integer, String] Sets the output image density in dots per inch (DPI). Accepts an integer from 1
576
+ #
564
577
  # @param distort [String] Distorts the shape of an image. Supports two modes:
565
578
  #
566
579
  # @param dpr [Float] Accepts values between 0.1 and 5, or `auto` for automatic device pixel ratio (DP
@@ -802,6 +815,25 @@ module Imagekitio
802
815
  # @return [Array<Symbol>]
803
816
  end
804
817
 
818
+ # Sets the output image density in dots per inch (DPI). Accepts an integer from 1
819
+ # to 1200 or an arithmetic expression using the `idn` variable, such as
820
+ # `idn_mul_2`. For raster images, this updates density metadata without changing
821
+ # dimensions. For vector images, it controls the DPI used during rasterization.
822
+ # Cannot be used inside layers. See
823
+ # [Density](https://imagekit.io/docs/image-optimization#density---dn).
824
+ #
825
+ # @see Imagekitio::Models::Transformation#density
826
+ module Density
827
+ extend Imagekitio::Internal::Type::Union
828
+
829
+ variant Integer
830
+
831
+ variant String
832
+
833
+ # @!method self.variants
834
+ # @return [Array(Integer, String)]
835
+ end
836
+
805
837
  # Specifies the duration (in seconds) for trimming videos, e.g., `5` or `10.5`.
806
838
  # Typically used with startOffset to indicate the length from the start offset.
807
839
  # Arithmetic expressions are supported. See
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Imagekitio
4
- VERSION = "4.9.0"
4
+ VERSION = "4.10.0"
5
5
  end
@@ -236,6 +236,20 @@ module Imagekitio
236
236
  :DESC_RELEVANCE,
237
237
  Imagekitio::AssetListParams::Sort::TaggedSymbol
238
238
  )
239
+ ASC_DURATION =
240
+ T.let(:ASC_DURATION, Imagekitio::AssetListParams::Sort::TaggedSymbol)
241
+ DESC_DURATION =
242
+ T.let(:DESC_DURATION, Imagekitio::AssetListParams::Sort::TaggedSymbol)
243
+ ASC_ORIGINAL_CREATION_DATE =
244
+ T.let(
245
+ :ASC_ORIGINAL_CREATION_DATE,
246
+ Imagekitio::AssetListParams::Sort::TaggedSymbol
247
+ )
248
+ DESC_ORIGINAL_CREATION_DATE =
249
+ T.let(
250
+ :DESC_ORIGINAL_CREATION_DATE,
251
+ Imagekitio::AssetListParams::Sort::TaggedSymbol
252
+ )
239
253
 
240
254
  sig do
241
255
  override.returns(
@@ -41,6 +41,14 @@ module Imagekitio
41
41
  sig { params(description: String).void }
42
42
  attr_writer :description
43
43
 
44
+ # Present and set to `true` when the field is reserved. Omitted for regular
45
+ # fields. Reserved fields cannot be deleted.
46
+ sig { returns(T.nilable(T::Boolean)) }
47
+ attr_reader :reserved
48
+
49
+ sig { params(reserved: T::Boolean).void }
50
+ attr_writer :reserved
51
+
44
52
  # Object containing details of a custom metadata field.
45
53
  sig do
46
54
  params(
@@ -48,7 +56,8 @@ module Imagekitio
48
56
  label: String,
49
57
  name: String,
50
58
  schema: Imagekitio::CustomMetadataField::Schema::OrHash,
51
- description: String
59
+ description: String,
60
+ reserved: T::Boolean
52
61
  ).returns(T.attached_class)
53
62
  end
54
63
  def self.new(
@@ -66,7 +75,10 @@ module Imagekitio
66
75
  # Optional description of the custom metadata field. Only present when a
67
76
  # description has been set. Shown as a hint to the users while setting the field's
68
77
  # value on an asset in the media library UI.
69
- description: nil
78
+ description: nil,
79
+ # Present and set to `true` when the field is reserved. Omitted for regular
80
+ # fields. Reserved fields cannot be deleted.
81
+ reserved: nil
70
82
  )
71
83
  end
72
84
 
@@ -77,7 +89,8 @@ module Imagekitio
77
89
  label: String,
78
90
  name: String,
79
91
  schema: Imagekitio::CustomMetadataField::Schema,
80
- description: String
92
+ description: String,
93
+ reserved: T::Boolean
81
94
  }
82
95
  )
83
96
  end
@@ -277,6 +277,20 @@ module Imagekitio
277
277
  sig { params(default_image: String).void }
278
278
  attr_writer :default_image
279
279
 
280
+ # Sets the output image density in dots per inch (DPI). Accepts an integer from 1
281
+ # to 1200 or an arithmetic expression using the `idn` variable, such as
282
+ # `idn_mul_2`. For raster images, this updates density metadata without changing
283
+ # dimensions. For vector images, it controls the DPI used during rasterization.
284
+ # Cannot be used inside layers. See
285
+ # [Density](https://imagekit.io/docs/image-optimization#density---dn).
286
+ sig { returns(T.nilable(Imagekitio::Transformation::Density::Variants)) }
287
+ attr_reader :density
288
+
289
+ sig do
290
+ params(density: Imagekitio::Transformation::Density::Variants).void
291
+ end
292
+ attr_writer :density
293
+
280
294
  # Distorts the shape of an image. Supports two modes:
281
295
  #
282
296
  # - Perspective distortion: `p-x1_y1_x2_y2_x3_y3_x4_y4` changes the position of
@@ -685,6 +699,7 @@ module Imagekitio
685
699
  crop: Imagekitio::Transformation::Crop::OrSymbol,
686
700
  crop_mode: Imagekitio::Transformation::CropMode::OrSymbol,
687
701
  default_image: String,
702
+ density: Imagekitio::Transformation::Density::Variants,
688
703
  distort: String,
689
704
  dpr: Float,
690
705
  duration: Imagekitio::Transformation::Duration::Variants,
@@ -832,6 +847,13 @@ module Imagekitio
832
847
  # path. See
833
848
  # [Default image](https://imagekit.io/docs/image-transformation#default-image---di).
834
849
  default_image: nil,
850
+ # Sets the output image density in dots per inch (DPI). Accepts an integer from 1
851
+ # to 1200 or an arithmetic expression using the `idn` variable, such as
852
+ # `idn_mul_2`. For raster images, this updates density metadata without changing
853
+ # dimensions. For vector images, it controls the DPI used during rasterization.
854
+ # Cannot be used inside layers. See
855
+ # [Density](https://imagekit.io/docs/image-optimization#density---dn).
856
+ density: nil,
835
857
  # Distorts the shape of an image. Supports two modes:
836
858
  #
837
859
  # - Perspective distortion: `p-x1_y1_x2_y2_x3_y3_x4_y4` changes the position of
@@ -1028,6 +1050,7 @@ module Imagekitio
1028
1050
  crop: Imagekitio::Transformation::Crop::OrSymbol,
1029
1051
  crop_mode: Imagekitio::Transformation::CropMode::OrSymbol,
1030
1052
  default_image: String,
1053
+ density: Imagekitio::Transformation::Density::Variants,
1031
1054
  distort: String,
1032
1055
  dpr: Float,
1033
1056
  duration: Imagekitio::Transformation::Duration::Variants,
@@ -1361,6 +1384,26 @@ module Imagekitio
1361
1384
  end
1362
1385
  end
1363
1386
 
1387
+ # Sets the output image density in dots per inch (DPI). Accepts an integer from 1
1388
+ # to 1200 or an arithmetic expression using the `idn` variable, such as
1389
+ # `idn_mul_2`. For raster images, this updates density metadata without changing
1390
+ # dimensions. For vector images, it controls the DPI used during rasterization.
1391
+ # Cannot be used inside layers. See
1392
+ # [Density](https://imagekit.io/docs/image-optimization#density---dn).
1393
+ module Density
1394
+ extend Imagekitio::Internal::Type::Union
1395
+
1396
+ Variants = T.type_alias { T.any(Integer, String) }
1397
+
1398
+ sig do
1399
+ override.returns(
1400
+ T::Array[Imagekitio::Transformation::Density::Variants]
1401
+ )
1402
+ end
1403
+ def self.variants
1404
+ end
1405
+ end
1406
+
1364
1407
  # Specifies the duration (in seconds) for trimming videos, e.g., `5` or `10.5`.
1365
1408
  # Typically used with startOffset to indicate the length from the start offset.
1366
1409
  # Arithmetic expressions are supported. See
@@ -99,6 +99,10 @@ module Imagekitio
99
99
  | :DESC_SIZE
100
100
  | :ASC_RELEVANCE
101
101
  | :DESC_RELEVANCE
102
+ | :ASC_DURATION
103
+ | :DESC_DURATION
104
+ | :ASC_ORIGINAL_CREATION_DATE
105
+ | :DESC_ORIGINAL_CREATION_DATE
102
106
 
103
107
  module Sort
104
108
  extend Imagekitio::Internal::Type::Enum
@@ -117,6 +121,10 @@ module Imagekitio
117
121
  DESC_SIZE: :DESC_SIZE
118
122
  ASC_RELEVANCE: :ASC_RELEVANCE
119
123
  DESC_RELEVANCE: :DESC_RELEVANCE
124
+ ASC_DURATION: :ASC_DURATION
125
+ DESC_DURATION: :DESC_DURATION
126
+ ASC_ORIGINAL_CREATION_DATE: :ASC_ORIGINAL_CREATION_DATE
127
+ DESC_ORIGINAL_CREATION_DATE: :DESC_ORIGINAL_CREATION_DATE
120
128
 
121
129
  def self?.values: -> ::Array[Imagekitio::Models::AssetListParams::sort]
122
130
  end
@@ -6,7 +6,8 @@ module Imagekitio
6
6
  label: String,
7
7
  name: String,
8
8
  schema: Imagekitio::CustomMetadataField::Schema,
9
- description: String
9
+ description: String,
10
+ reserved: bool
10
11
  }
11
12
 
12
13
  class CustomMetadataField < Imagekitio::Internal::Type::BaseModel
@@ -22,12 +23,17 @@ module Imagekitio
22
23
 
23
24
  def description=: (String) -> String
24
25
 
26
+ attr_reader reserved: bool?
27
+
28
+ def reserved=: (bool) -> bool
29
+
25
30
  def initialize: (
26
31
  id: String,
27
32
  label: String,
28
33
  name: String,
29
34
  schema: Imagekitio::CustomMetadataField::Schema,
30
- ?description: String
35
+ ?description: String,
36
+ ?reserved: bool
31
37
  ) -> void
32
38
 
33
39
  def to_hash: -> {
@@ -35,7 +41,8 @@ module Imagekitio
35
41
  label: String,
36
42
  name: String,
37
43
  schema: Imagekitio::CustomMetadataField::Schema,
38
- description: String
44
+ description: String,
45
+ reserved: bool
39
46
  }
40
47
 
41
48
  type schema =
@@ -22,6 +22,7 @@ module Imagekitio
22
22
  crop: Imagekitio::Models::Transformation::crop,
23
23
  crop_mode: Imagekitio::Models::Transformation::crop_mode,
24
24
  default_image: String,
25
+ density: Imagekitio::Models::Transformation::density,
25
26
  distort: String,
26
27
  dpr: Float,
27
28
  duration: Imagekitio::Models::Transformation::duration,
@@ -162,6 +163,12 @@ module Imagekitio
162
163
 
163
164
  def default_image=: (String) -> String
164
165
 
166
+ attr_reader density: Imagekitio::Models::Transformation::density?
167
+
168
+ def density=: (
169
+ Imagekitio::Models::Transformation::density
170
+ ) -> Imagekitio::Models::Transformation::density
171
+
165
172
  attr_reader distort: String?
166
173
 
167
174
  def distort=: (String) -> String
@@ -367,6 +374,7 @@ module Imagekitio
367
374
  ?crop: Imagekitio::Models::Transformation::crop,
368
375
  ?crop_mode: Imagekitio::Models::Transformation::crop_mode,
369
376
  ?default_image: String,
377
+ ?density: Imagekitio::Models::Transformation::density,
370
378
  ?distort: String,
371
379
  ?dpr: Float,
372
380
  ?duration: Imagekitio::Models::Transformation::duration,
@@ -425,6 +433,7 @@ module Imagekitio
425
433
  crop: Imagekitio::Models::Transformation::crop,
426
434
  crop_mode: Imagekitio::Models::Transformation::crop_mode,
427
435
  default_image: String,
436
+ density: Imagekitio::Models::Transformation::density,
428
437
  distort: String,
429
438
  dpr: Float,
430
439
  duration: Imagekitio::Models::Transformation::duration,
@@ -590,6 +599,14 @@ module Imagekitio
590
599
  def self?.values: -> ::Array[Imagekitio::Models::Transformation::crop_mode]
591
600
  end
592
601
 
602
+ type density = Integer | String
603
+
604
+ module Density
605
+ extend Imagekitio::Internal::Type::Union
606
+
607
+ def self?.variants: -> ::Array[Imagekitio::Models::Transformation::density]
608
+ end
609
+
593
610
  type duration = Float | String
594
611
 
595
612
  module Duration
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagekitio
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.0
4
+ version: 4.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ImageKit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-15 00:00:00.000000000 Z
11
+ date: 2026-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi