May 6, 2025
SDKs
Hao Wang

Ruby general availability

The Ruby SDK generator is now generally available, with modern type system support and a minimal-dependency design that feels right at home in the Ruby ecosystem.

  • Sorbet: Each SDK includes comprehensive RBI annotations, including enums and aliases, without a dependency on sorbet-runtime.
  • RBS: Each SDK also includes Ruby 3’s RBS type annotations, compatible with the steep typechecker.
  • YARD: Full YARD docs support for methods and types, with navigable links between related objects, published to Gemdocs automatically.
  • Tooling support: Great auto-completion for ecosystem tool chains, including generics for pagination & streaming for all supported language services.
  • File uploads & downloads: Full lazy upload and download support with conveniences like Pathname support.
  • Type conversions: Automatic conversions to Time, Integer and so on as appropriate.
  • Pattern matching: All data containers support Ruby 3 pattern matching.
  • Minimal dependencies: The SDKs use stdlib net/http for requests, relying only on connection_pool.
  • Introspection: Pretty printing is supported for all internal types, for both classes and instances.
  • Streaming: Support for SSE & JSON-L streams as ruby Enumerators, allowing for convenient .map, .filter, and so on, with automatic closing during GC.
  • Advanced use cases: Raw and undocumented request support.

We plan to add support for middleware soon, along with other conveniences; if there’s more you’d like to see, please share: hello@stainless.com.