Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "4.1.2"
".": "4.2.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 47
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-84f0d75048a9268981a84800b4190e3691997ce57dcfc0876f38a5b3fce6bacd.yml
openapi_spec_hash: 35607d4e850c8a60524223ff632c83bb
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-13fc3d7cafdea492f62eef7c1d63424d6d9d8adbff74b9f6ca6fd3fc12a36840.yml
openapi_spec_hash: a1fe6fa48207791657a1ea2d60a6dfcc
config_hash: 47cb702ee2cb52c58d803ae39ade9b44
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 4.2.0 (2026-02-02)

Full Changelog: [v4.1.2...v4.2.0](https://github.com/imagekit-developer/imagekit-ruby/compare/v4.1.2...v4.2.0)

### Features

* **api:** add customMetadata property to folder schema ([8038b9e](https://github.com/imagekit-developer/imagekit-ruby/commit/8038b9ecc161c7d25c65a35c2d54149ace184479))


### Bug Fixes

* **api:** add missing embeddedMetadata and video properties to FileDetails ([898add4](https://github.com/imagekit-developer/imagekit-ruby/commit/898add425e5839e85fc8cca8bd8035923ec39463))

## 4.1.2 (2026-01-29)

Full Changelog: [v4.1.1...v4.1.2](https://github.com/imagekit-developer/imagekit-ruby/compare/v4.1.1...v4.1.2)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
imagekitio (4.1.2)
imagekitio (4.2.0)
cgi
connection_pool

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "imagekitio", "~> 4.1.2"
gem "imagekitio", "~> 4.2.0"
```

<!-- x-release-please-end -->
Expand Down
45 changes: 44 additions & 1 deletion lib/imagekitio/models/file.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,18 @@ class File < Imagekitio::Internal::Type::BaseModel
api_name: :AITags,
nil?: true

# @!attribute audio_codec
# The audio codec used in the video (only for video/audio).
#
# @return [String, nil]
optional :audio_codec, String, api_name: :audioCodec

# @!attribute bit_rate
# The bit rate of the video in kbps (only for video).
#
# @return [Integer, nil]
optional :bit_rate, Integer, api_name: :bitRate

# @!attribute created_at
# Date and time when the file was uploaded. The date and time is in ISO8601
# format.
Expand Down Expand Up @@ -41,6 +53,21 @@ class File < Imagekitio::Internal::Type::BaseModel
# @return [String, nil]
optional :description, String

# @!attribute duration
# The duration of the video in seconds (only for video).
#
# @return [Integer, nil]
optional :duration, Integer

# @!attribute embedded_metadata
# Consolidated embedded metadata associated with the file. It includes exif, iptc,
# and xmp data.
#
# @return [Hash{Symbol=>Object}, nil]
optional :embedded_metadata,
Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown],
api_name: :embeddedMetadata

# @!attribute file_id
# Unique identifier of the asset.
#
Expand Down Expand Up @@ -157,20 +184,30 @@ class File < Imagekitio::Internal::Type::BaseModel
# @return [Imagekitio::Models::File::VersionInfo, nil]
optional :version_info, -> { Imagekitio::File::VersionInfo }, api_name: :versionInfo

# @!attribute video_codec
# The video codec used in the video (only for video).
#
# @return [String, nil]
optional :video_codec, String, api_name: :videoCodec

# @!attribute width
# Width of the file.
#
# @return [Float, nil]
optional :width, Float

# @!method initialize(ai_tags: nil, created_at: nil, custom_coordinates: nil, custom_metadata: nil, description: nil, file_id: nil, file_path: nil, file_type: nil, has_alpha: nil, height: nil, is_private_file: nil, is_published: nil, mime: nil, name: nil, selected_fields_schema: nil, size: nil, tags: nil, thumbnail: nil, type: nil, updated_at: nil, url: nil, version_info: nil, width: nil)
# @!method initialize(ai_tags: nil, audio_codec: nil, bit_rate: nil, created_at: nil, custom_coordinates: nil, custom_metadata: nil, description: nil, duration: nil, embedded_metadata: nil, file_id: nil, file_path: nil, file_type: nil, has_alpha: nil, height: nil, is_private_file: nil, is_published: nil, mime: nil, name: nil, selected_fields_schema: nil, size: nil, tags: nil, thumbnail: nil, type: nil, updated_at: nil, url: nil, version_info: nil, video_codec: nil, width: nil)
# Some parameter documentations has been truncated, see {Imagekitio::Models::File}
# for more details.
#
# Object containing details of a file or file version.
#
# @param ai_tags [Array<Imagekitio::Models::File::AITag>, nil] An array of tags assigned to the file by auto tagging.
#
# @param audio_codec [String] The audio codec used in the video (only for video/audio).
#
# @param bit_rate [Integer] The bit rate of the video in kbps (only for video).
#
# @param created_at [Time] Date and time when the file was uploaded. The date and time is in ISO8601 format
#
# @param custom_coordinates [String, nil] An string with custom coordinates of the file.
Expand All @@ -179,6 +216,10 @@ class File < Imagekitio::Internal::Type::BaseModel
#
# @param description [String] Optional text to describe the contents of the file. Can be set by the user or th
#
# @param duration [Integer] The duration of the video in seconds (only for video).
#
# @param embedded_metadata [Hash{Symbol=>Object}] Consolidated embedded metadata associated with the file. It includes exif, iptc,
#
# @param file_id [String] Unique identifier of the asset.
#
# @param file_path [String] Path of the file. This is the path you would use in the URL to access the file.
Expand Down Expand Up @@ -213,6 +254,8 @@ class File < Imagekitio::Internal::Type::BaseModel
#
# @param version_info [Imagekitio::Models::File::VersionInfo] An object with details of the file version.
#
# @param video_codec [String] The video codec used in the video (only for video).
#
# @param width [Float] Width of the file.

class AITag < Imagekitio::Internal::Type::BaseModel
Expand Down
13 changes: 12 additions & 1 deletion lib/imagekitio/models/folder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ class Folder < Imagekitio::Internal::Type::BaseModel
# @return [Time, nil]
optional :created_at, Time, api_name: :createdAt

# @!attribute custom_metadata
# An object with custom metadata for the folder. Returns empty object if no custom
# metadata is set.
#
# @return [Hash{Symbol=>Object}, nil]
optional :custom_metadata,
Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown],
api_name: :customMetadata

# @!attribute folder_id
# Unique identifier of the asset.
#
Expand Down Expand Up @@ -44,12 +53,14 @@ class Folder < Imagekitio::Internal::Type::BaseModel
# @return [Time, nil]
optional :updated_at, Time, api_name: :updatedAt

# @!method initialize(created_at: nil, folder_id: nil, folder_path: nil, name: nil, type: nil, updated_at: nil)
# @!method initialize(created_at: nil, custom_metadata: nil, folder_id: nil, folder_path: nil, name: nil, type: nil, updated_at: nil)
# Some parameter documentations has been truncated, see
# {Imagekitio::Models::Folder} for more details.
#
# @param created_at [Time] Date and time when the folder was created. The date and time is in ISO8601 forma
#
# @param custom_metadata [Hash{Symbol=>Object}] An object with custom metadata for the folder. Returns empty object if no custom
#
# @param folder_id [String] Unique identifier of the asset.
#
# @param folder_path [String] Path of the folder. This is the path you would use in the URL to access the fold
Expand Down
2 changes: 1 addition & 1 deletion lib/imagekitio/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module Imagekitio
VERSION = "4.1.2"
VERSION = "4.2.0"
end
57 changes: 57 additions & 0 deletions rbi/imagekitio/models/file.rbi
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,20 @@ module Imagekitio
sig { returns(T.nilable(T::Array[Imagekitio::File::AITag])) }
attr_accessor :ai_tags

# The audio codec used in the video (only for video/audio).
sig { returns(T.nilable(String)) }
attr_reader :audio_codec

sig { params(audio_codec: String).void }
attr_writer :audio_codec

# The bit rate of the video in kbps (only for video).
sig { returns(T.nilable(Integer)) }
attr_reader :bit_rate

sig { params(bit_rate: Integer).void }
attr_writer :bit_rate

# Date and time when the file was uploaded. The date and time is in ISO8601
# format.
sig { returns(T.nilable(Time)) }
Expand Down Expand Up @@ -37,6 +51,21 @@ module Imagekitio
sig { params(description: String).void }
attr_writer :description

# The duration of the video in seconds (only for video).
sig { returns(T.nilable(Integer)) }
attr_reader :duration

sig { params(duration: Integer).void }
attr_writer :duration

# Consolidated embedded metadata associated with the file. It includes exif, iptc,
# and xmp data.
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
attr_reader :embedded_metadata

sig { params(embedded_metadata: T::Hash[Symbol, T.anything]).void }
attr_writer :embedded_metadata

# Unique identifier of the asset.
sig { returns(T.nilable(String)) }
attr_reader :file_id
Expand Down Expand Up @@ -174,6 +203,13 @@ module Imagekitio
sig { params(version_info: Imagekitio::File::VersionInfo::OrHash).void }
attr_writer :version_info

# The video codec used in the video (only for video).
sig { returns(T.nilable(String)) }
attr_reader :video_codec

sig { params(video_codec: String).void }
attr_writer :video_codec

# Width of the file.
sig { returns(T.nilable(Float)) }
attr_reader :width
Expand All @@ -185,10 +221,14 @@ module Imagekitio
sig do
params(
ai_tags: T.nilable(T::Array[Imagekitio::File::AITag::OrHash]),
audio_codec: String,
bit_rate: Integer,
created_at: Time,
custom_coordinates: T.nilable(String),
custom_metadata: T::Hash[Symbol, T.anything],
description: String,
duration: Integer,
embedded_metadata: T::Hash[Symbol, T.anything],
file_id: String,
file_path: String,
file_type: String,
Expand All @@ -207,12 +247,17 @@ module Imagekitio
updated_at: Time,
url: String,
version_info: Imagekitio::File::VersionInfo::OrHash,
video_codec: String,
width: Float
).returns(T.attached_class)
end
def self.new(
# An array of tags assigned to the file by auto tagging.
ai_tags: nil,
# The audio codec used in the video (only for video/audio).
audio_codec: nil,
# The bit rate of the video in kbps (only for video).
bit_rate: nil,
# Date and time when the file was uploaded. The date and time is in ISO8601
# format.
created_at: nil,
Expand All @@ -223,6 +268,11 @@ module Imagekitio
# Optional text to describe the contents of the file. Can be set by the user or
# the ai-auto-description extension.
description: nil,
# The duration of the video in seconds (only for video).
duration: nil,
# Consolidated embedded metadata associated with the file. It includes exif, iptc,
# and xmp data.
embedded_metadata: nil,
# Unique identifier of the asset.
file_id: nil,
# Path of the file. This is the path you would use in the URL to access the file.
Expand Down Expand Up @@ -269,6 +319,8 @@ module Imagekitio
url: nil,
# An object with details of the file version.
version_info: nil,
# The video codec used in the video (only for video).
video_codec: nil,
# Width of the file.
width: nil
)
Expand All @@ -278,10 +330,14 @@ module Imagekitio
override.returns(
{
ai_tags: T.nilable(T::Array[Imagekitio::File::AITag]),
audio_codec: String,
bit_rate: Integer,
created_at: Time,
custom_coordinates: T.nilable(String),
custom_metadata: T::Hash[Symbol, T.anything],
description: String,
duration: Integer,
embedded_metadata: T::Hash[Symbol, T.anything],
file_id: String,
file_path: String,
file_type: String,
Expand All @@ -300,6 +356,7 @@ module Imagekitio
updated_at: Time,
url: String,
version_info: Imagekitio::File::VersionInfo,
video_codec: String,
width: Float
}
)
Expand Down
13 changes: 13 additions & 0 deletions rbi/imagekitio/models/folder.rbi
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@ module Imagekitio
sig { params(created_at: Time).void }
attr_writer :created_at

# An object with custom metadata for the folder. Returns empty object if no custom
# metadata is set.
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
attr_reader :custom_metadata

sig { params(custom_metadata: T::Hash[Symbol, T.anything]).void }
attr_writer :custom_metadata

# Unique identifier of the asset.
sig { returns(T.nilable(String)) }
attr_reader :folder_id
Expand Down Expand Up @@ -58,6 +66,7 @@ module Imagekitio
sig do
params(
created_at: Time,
custom_metadata: T::Hash[Symbol, T.anything],
folder_id: String,
folder_path: String,
name: String,
Expand All @@ -69,6 +78,9 @@ module Imagekitio
# Date and time when the folder was created. The date and time is in ISO8601
# format.
created_at: nil,
# An object with custom metadata for the folder. Returns empty object if no custom
# metadata is set.
custom_metadata: nil,
# Unique identifier of the asset.
folder_id: nil,
# Path of the folder. This is the path you would use in the URL to access the
Expand All @@ -90,6 +102,7 @@ module Imagekitio
override.returns(
{
created_at: Time,
custom_metadata: T::Hash[Symbol, T.anything],
folder_id: String,
folder_path: String,
name: String,
Expand Down
Loading
Loading