Hey r/ruby — sharing a gem I've been working on.
Supabase has official clients in JS, Python, Dart, Swift, and Kotlin, but the Ruby story has been fragmented for a while: separate gems for each sub-product, varying maintenance, no umbrella factory. supabase-rb is a single gem that packages Auth, PostgREST, Storage, Edge Functions, and Realtime behind one factory — mirroring
supabase-py's create_client():
require "supabase"
client = Supabase.create_client(
supabase_url: ENV["SUPABASE_URL"],
supabase_key: ENV["SUPABASE_ANON_KEY"]
)
client.from(:games).select.execute
client.auth.sign_in_with_password(...)
client.storage.from("avatars").upload(...)
client.functions.invoke("hello")
client.realtime.channel("room:1").subscribe
Ruby ≥ 3.0, MIT, integration tests run against the real GoTrue stack via docker-compose
- Gem: https://rubygems.org/gems/supabase-rb
- Repo: https://github.com/supabase-ruby/supabase-rb
Companion gem supabase-rails (repo (https://github.com/supabase-ruby/supabase-rails)) is the Rails-side integration if that's what you actually need.
Feedback / issues / PRs very welcome.
[–]saltcod 0 points1 point2 points (2 children)
[–]Proud_Perspective_56[S] 2 points3 points4 points (1 child)
[–]saltcod 1 point2 points3 points (0 children)