From 13b908b1c842f4d5a1602255b0585051cbb1a571 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 4 Apr 2025 21:09:30 +0000 Subject: [PATCH] chore: misc sdk polish --- .rubocop.yml | 3 +++ README.md | 4 ++-- lib/openai/internal/type/base_model.rb | 9 ++++++--- lib/openai/internal/type/converter.rb | 2 ++ lib/openai/internal/type/enum.rb | 2 ++ 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index d66784a3..f5de5e94 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -202,6 +202,9 @@ Style/MethodCallWithArgsParentheses: Exclude: - "**/*.gemspec" +Style/MultilineBlockChain: + Enabled: false + # Perfectly fine. Style/MultipleComparison: Enabled: false diff --git a/README.md b/README.md index 19cfde3e..76732571 100644 --- a/README.md +++ b/README.md @@ -177,7 +177,7 @@ Due to limitations with the Sorbet type system, where a method otherwise can tak Please follow Sorbet's [setup guides](https://sorbet.org/docs/adopting) for best experience. ```ruby -model = OpenAI::Models::Chat::CompletionCreateParams.new( +params = OpenAI::Models::Chat::CompletionCreateParams.new( messages: [{ role: "user", content: "Say this is a test" @@ -185,7 +185,7 @@ model = OpenAI::Models::Chat::CompletionCreateParams.new( model: "gpt-4o" ) -openai.chat.completions.create(**model) +openai.chat.completions.create(**params) ``` ## Advanced diff --git a/lib/openai/internal/type/base_model.rb b/lib/openai/internal/type/base_model.rb index 5dde350e..d7dade74 100644 --- a/lib/openai/internal/type/base_model.rb +++ b/lib/openai/internal/type/base_model.rb @@ -168,7 +168,9 @@ def optional(name_sym, type_info, spec = {}) # @param other [Object] # # @return [Boolean] - def ==(other) = other.is_a?(Class) && other <= OpenAI::Internal::Type::BaseModel && other.fields == fields + def ==(other) + other.is_a?(Class) && other <= OpenAI::Internal::Type::BaseModel && other.fields == fields + end end # @param other [Object] @@ -350,7 +352,8 @@ def initialize(data = {}) in Hash => coerced @data = coerced else - raise ArgumentError.new("Expected a #{Hash} or #{OpenAI::Internal::Type::BaseModel}, got #{data.inspect}") + message = "Expected a #{Hash} or #{OpenAI::Internal::Type::BaseModel}, got #{data.inspect}" + raise ArgumentError.new(message) end end @@ -358,7 +361,7 @@ def initialize(data = {}) def inspect rows = self.class.known_fields.keys.map do "#{_1}=#{@data.key?(_1) ? public_send(_1) : ''}" - rescue OpenAI::ConversionError + rescue OpenAI::Errors::ConversionError "#{_1}=#{@data.fetch(_1)}" end "#<#{self.class.name}:0x#{object_id.to_s(16)} #{rows.join(' ')}>" diff --git a/lib/openai/internal/type/converter.rb b/lib/openai/internal/type/converter.rb index ee4589cf..b879a4ae 100644 --- a/lib/openai/internal/type/converter.rb +++ b/lib/openai/internal/type/converter.rb @@ -209,7 +209,9 @@ def coerce( # # @return [Object] def dump(target, value) + # rubocop:disable Layout/LineLength target.is_a?(OpenAI::Internal::Type::Converter) ? target.dump(value) : OpenAI::Internal::Type::Unknown.dump(value) + # rubocop:enable Layout/LineLength end end end diff --git a/lib/openai/internal/type/enum.rb b/lib/openai/internal/type/enum.rb index de4e7a7a..5ba8860c 100644 --- a/lib/openai/internal/type/enum.rb +++ b/lib/openai/internal/type/enum.rb @@ -62,7 +62,9 @@ def ===(other) = values.include?(other) # # @return [Boolean] def ==(other) + # rubocop:disable Layout/LineLength other.is_a?(Module) && other.singleton_class <= OpenAI::Internal::Type::Enum && other.values.to_set == values.to_set + # rubocop:enable Layout/LineLength end # @api private