We have introduced the support for keyword arguments in model instantiation. By default, the model constructors expect the positional arguments in the Ruby SDKs.
What's New?
This update enforces the use of keyword arguments (kwargs) for all model constructor parameters. Previously, the positional arguments were allowed. Kwargs provide improved readability by explicitly naming arguments, and allow for more flexible model instantiation as the order no longer matters. This change promotes clarity and maintainability of the SDKs.
info:
x-codegen-settings:
EnableModelKeywordArgsInRuby: true
For more details on the EnableModelKeywordArgsInRuby
CodegenSetting and its impact on the SDK behavior, refer to the EnableModelKeywordArgsInRuby documentation. This setting is only applied to the model constructor parameters.
- Disabled (Default)
- Enabled
class User
def initialize(name, email)
@name = name
@email = email
end
end
# Creating a user (order matters!)
user = User.new("Alice", "alice@example.com")
class User
def initialize(name:, email:)
@name = name
@email = email
end
end
# Creating a user (order doesn't matter)
user = User.new(email: "bob@example.com", name: "Bob") # Any order is valid